\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 r3606723 = a;
double r3606724 = r3606723 * r3606723;
double r3606725 = b;
double r3606726 = r3606725 * r3606725;
double r3606727 = r3606724 - r3606726;
double r3606728 = r3606727 / r3606724;
double r3606729 = fabs(r3606728);
double r3606730 = sqrt(r3606729);
return r3606730;
}
double f(double a, double b) {
double r3606731 = 1.0;
double r3606732 = b;
double r3606733 = a;
double r3606734 = r3606732 / r3606733;
double r3606735 = r3606734 * r3606734;
double r3606736 = r3606731 - r3606735;
double r3606737 = fabs(r3606736);
double r3606738 = sqrt(r3606737);
return r3606738;
}



Bits error versus a



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