\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 r32602 = a;
double r32603 = r32602 * r32602;
double r32604 = b;
double r32605 = r32604 * r32604;
double r32606 = r32603 - r32605;
double r32607 = r32606 / r32603;
double r32608 = fabs(r32607);
double r32609 = sqrt(r32608);
return r32609;
}
double f(double a, double b) {
double r32610 = 1.0;
double r32611 = b;
double r32612 = a;
double r32613 = r32611 / r32612;
double r32614 = fabs(r32613);
double r32615 = r32614 * r32614;
double r32616 = r32610 - r32615;
double r32617 = fabs(r32616);
double r32618 = sqrt(r32617);
return r32618;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.7
Simplified14.7
rmApplied add-sqr-sqrt14.7
Simplified14.7
Simplified0.0
Final simplification0.0
herbie shell --seed 2019325 +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)))))