\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|1 - \frac{\frac{b}{a} \cdot b}{a}\right|}double f(double a, double b) {
double r1589770 = a;
double r1589771 = r1589770 * r1589770;
double r1589772 = b;
double r1589773 = r1589772 * r1589772;
double r1589774 = r1589771 - r1589773;
double r1589775 = r1589774 / r1589771;
double r1589776 = fabs(r1589775);
double r1589777 = sqrt(r1589776);
return r1589777;
}
double f(double a, double b) {
double r1589778 = 1.0;
double r1589779 = b;
double r1589780 = a;
double r1589781 = r1589779 / r1589780;
double r1589782 = r1589781 * r1589779;
double r1589783 = r1589782 / r1589780;
double r1589784 = r1589778 - r1589783;
double r1589785 = fabs(r1589784);
double r1589786 = sqrt(r1589785);
return r1589786;
}



Bits error versus a



Bits error versus b
Results
Initial program 29.6
Simplified7.5
rmApplied associate-*l/7.5
Final simplification7.5
herbie shell --seed 2019153 +o rules:numerics
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))