\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{1}{a + b} \cdot \frac{\frac{\pi}{a} - \frac{1}{\frac{b}{\pi}}}{\frac{b - a}{\frac{1}{2}}}double f(double a, double b) {
double r1481613 = atan2(1.0, 0.0);
double r1481614 = 2.0;
double r1481615 = r1481613 / r1481614;
double r1481616 = 1.0;
double r1481617 = b;
double r1481618 = r1481617 * r1481617;
double r1481619 = a;
double r1481620 = r1481619 * r1481619;
double r1481621 = r1481618 - r1481620;
double r1481622 = r1481616 / r1481621;
double r1481623 = r1481615 * r1481622;
double r1481624 = r1481616 / r1481619;
double r1481625 = r1481616 / r1481617;
double r1481626 = r1481624 - r1481625;
double r1481627 = r1481623 * r1481626;
return r1481627;
}
double f(double a, double b) {
double r1481628 = 1.0;
double r1481629 = a;
double r1481630 = b;
double r1481631 = r1481629 + r1481630;
double r1481632 = r1481628 / r1481631;
double r1481633 = atan2(1.0, 0.0);
double r1481634 = r1481633 / r1481629;
double r1481635 = r1481630 / r1481633;
double r1481636 = r1481628 / r1481635;
double r1481637 = r1481634 - r1481636;
double r1481638 = r1481630 - r1481629;
double r1481639 = 0.5;
double r1481640 = r1481638 / r1481639;
double r1481641 = r1481637 / r1481640;
double r1481642 = r1481632 * r1481641;
return r1481642;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.3
Simplified14.3
rmApplied *-un-lft-identity14.3
Applied difference-of-squares9.5
Applied times-frac9.5
Applied *-un-lft-identity9.5
Applied *-un-lft-identity9.5
Applied distribute-lft-out--9.5
Applied times-frac0.3
Simplified0.3
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2019130 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))