\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\left(\frac{\frac{\frac{-1}{\frac{a + b}{\pi}}}{2}}{b} + \frac{\pi}{\frac{a}{\frac{1}{2}} \cdot \left(a + b\right)}\right) \cdot \frac{1}{b - a}double f(double a, double b) {
double r2341581 = atan2(1.0, 0.0);
double r2341582 = 2.0;
double r2341583 = r2341581 / r2341582;
double r2341584 = 1.0;
double r2341585 = b;
double r2341586 = r2341585 * r2341585;
double r2341587 = a;
double r2341588 = r2341587 * r2341587;
double r2341589 = r2341586 - r2341588;
double r2341590 = r2341584 / r2341589;
double r2341591 = r2341583 * r2341590;
double r2341592 = r2341584 / r2341587;
double r2341593 = r2341584 / r2341585;
double r2341594 = r2341592 - r2341593;
double r2341595 = r2341591 * r2341594;
return r2341595;
}
double f(double a, double b) {
double r2341596 = -1.0;
double r2341597 = a;
double r2341598 = b;
double r2341599 = r2341597 + r2341598;
double r2341600 = atan2(1.0, 0.0);
double r2341601 = r2341599 / r2341600;
double r2341602 = r2341596 / r2341601;
double r2341603 = 2.0;
double r2341604 = r2341602 / r2341603;
double r2341605 = r2341604 / r2341598;
double r2341606 = 0.5;
double r2341607 = r2341597 / r2341606;
double r2341608 = r2341607 * r2341599;
double r2341609 = r2341600 / r2341608;
double r2341610 = r2341605 + r2341609;
double r2341611 = 1.0;
double r2341612 = r2341598 - r2341597;
double r2341613 = r2341611 / r2341612;
double r2341614 = r2341610 * r2341613;
return r2341614;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.3
Simplified0.2
rmApplied *-un-lft-identity0.2
Applied div-inv0.3
Applied times-frac0.3
Applied associate-/l*0.3
rmApplied div-inv0.3
Applied *-un-lft-identity0.3
Applied times-frac0.3
Simplified0.2
rmApplied div-inv0.3
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2019168
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))