\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|1 - \left|\frac{b}{a}\right| \cdot \left|\frac{b}{a}\right|\right|}double f(double a, double b) {
double r39311 = a;
double r39312 = r39311 * r39311;
double r39313 = b;
double r39314 = r39313 * r39313;
double r39315 = r39312 - r39314;
double r39316 = r39315 / r39312;
double r39317 = fabs(r39316);
double r39318 = sqrt(r39317);
return r39318;
}
double f(double a, double b) {
double r39319 = 1.0;
double r39320 = b;
double r39321 = a;
double r39322 = r39320 / r39321;
double r39323 = fabs(r39322);
double r39324 = r39323 * r39323;
double r39325 = r39319 - r39324;
double r39326 = fabs(r39325);
double r39327 = sqrt(r39326);
return r39327;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.0
Simplified14.0
rmApplied add-sqr-sqrt14.0
Simplified14.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019326 +o rules:numerics
(FPCore (a b)
:name "Eccentricity of an ellipse"
:precision binary64
:pre (<= 0.0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))