\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 r4370959 = a;
double r4370960 = r4370959 * r4370959;
double r4370961 = b;
double r4370962 = r4370961 * r4370961;
double r4370963 = r4370960 - r4370962;
double r4370964 = r4370963 / r4370960;
double r4370965 = fabs(r4370964);
double r4370966 = sqrt(r4370965);
return r4370966;
}
double f(double a, double b) {
double r4370967 = 1.0;
double r4370968 = b;
double r4370969 = a;
double r4370970 = r4370968 / r4370969;
double r4370971 = r4370970 * r4370970;
double r4370972 = r4370967 - r4370971;
double r4370973 = fabs(r4370972);
double r4370974 = sqrt(r4370973);
return r4370974;
}



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)))))