\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 r6147515 = a;
double r6147516 = r6147515 * r6147515;
double r6147517 = b;
double r6147518 = r6147517 * r6147517;
double r6147519 = r6147516 - r6147518;
double r6147520 = r6147519 / r6147516;
double r6147521 = fabs(r6147520);
double r6147522 = sqrt(r6147521);
return r6147522;
}
double f(double a, double b) {
double r6147523 = 1.0;
double r6147524 = b;
double r6147525 = a;
double r6147526 = r6147524 / r6147525;
double r6147527 = r6147526 * r6147526;
double r6147528 = r6147523 - r6147527;
double r6147529 = fabs(r6147528);
double r6147530 = sqrt(r6147529);
return r6147530;
}



Bits error versus a



Bits error versus b
Results
Initial program 29.9
Simplified7.5
Final simplification7.5
herbie shell --seed 2019121
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))