\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|1 - \frac{b}{a} \cdot \frac{b}{a}\right|}double f(double a, double b) {
double r3907778 = a;
double r3907779 = r3907778 * r3907778;
double r3907780 = b;
double r3907781 = r3907780 * r3907780;
double r3907782 = r3907779 - r3907781;
double r3907783 = r3907782 / r3907779;
double r3907784 = fabs(r3907783);
double r3907785 = sqrt(r3907784);
return r3907785;
}
double f(double a, double b) {
double r3907786 = 1.0;
double r3907787 = b;
double r3907788 = a;
double r3907789 = r3907787 / r3907788;
double r3907790 = r3907789 * r3907789;
double r3907791 = r3907786 - r3907790;
double r3907792 = fabs(r3907791);
double r3907793 = sqrt(r3907792);
return r3907793;
}



Bits error versus a



Bits error versus b
Results
Initial program 30.4
Simplified8.1
Final simplification8.1
herbie shell --seed 2019174 +o rules:numerics
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0.0 b a 1.0)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))