\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{\frac{\pi}{b + a}}{\frac{1}{\frac{1}{a} - \frac{1}{b}}}}{b - a} \cdot \frac{1}{2}double f(double a, double b) {
double r1982719 = atan2(1.0, 0.0);
double r1982720 = 2.0;
double r1982721 = r1982719 / r1982720;
double r1982722 = 1.0;
double r1982723 = b;
double r1982724 = r1982723 * r1982723;
double r1982725 = a;
double r1982726 = r1982725 * r1982725;
double r1982727 = r1982724 - r1982726;
double r1982728 = r1982722 / r1982727;
double r1982729 = r1982721 * r1982728;
double r1982730 = r1982722 / r1982725;
double r1982731 = r1982722 / r1982723;
double r1982732 = r1982730 - r1982731;
double r1982733 = r1982729 * r1982732;
return r1982733;
}
double f(double a, double b) {
double r1982734 = atan2(1.0, 0.0);
double r1982735 = b;
double r1982736 = a;
double r1982737 = r1982735 + r1982736;
double r1982738 = r1982734 / r1982737;
double r1982739 = 1.0;
double r1982740 = r1982739 / r1982736;
double r1982741 = r1982739 / r1982735;
double r1982742 = r1982740 - r1982741;
double r1982743 = r1982739 / r1982742;
double r1982744 = r1982738 / r1982743;
double r1982745 = r1982735 - r1982736;
double r1982746 = r1982744 / r1982745;
double r1982747 = 0.5;
double r1982748 = r1982746 * r1982747;
return r1982748;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.2
Simplified9.5
rmApplied associate-/r*0.3
rmApplied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied distribute-lft-out0.3
Applied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied distribute-lft-out--0.3
Applied times-frac0.3
Applied times-frac0.3
Simplified0.3
rmApplied div-inv0.3
Applied div-inv0.3
Applied distribute-lft-out--0.3
Applied associate-/l*0.3
rmApplied div-inv0.3
Applied associate-/r*0.3
Final simplification0.3
herbie shell --seed 2019135 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))