\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 r3119310 = a;
double r3119311 = r3119310 * r3119310;
double r3119312 = b;
double r3119313 = r3119312 * r3119312;
double r3119314 = r3119311 - r3119313;
double r3119315 = r3119314 / r3119311;
double r3119316 = fabs(r3119315);
double r3119317 = sqrt(r3119316);
return r3119317;
}
double f(double a, double b) {
double r3119318 = 1.0;
double r3119319 = b;
double r3119320 = a;
double r3119321 = r3119319 / r3119320;
double r3119322 = r3119321 * r3119321;
double r3119323 = r3119318 - r3119322;
double r3119324 = fabs(r3119323);
double r3119325 = sqrt(r3119324);
return r3119325;
}



Bits error versus a



Bits error versus b
Results
Initial program 29.1
Simplified7.7
Final simplification7.7
herbie shell --seed 2019142 +o rules:numerics
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))