\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 r3054708 = a;
double r3054709 = r3054708 * r3054708;
double r3054710 = b;
double r3054711 = r3054710 * r3054710;
double r3054712 = r3054709 - r3054711;
double r3054713 = r3054712 / r3054709;
double r3054714 = fabs(r3054713);
double r3054715 = sqrt(r3054714);
return r3054715;
}
double f(double a, double b) {
double r3054716 = 1.0;
double r3054717 = b;
double r3054718 = a;
double r3054719 = r3054717 / r3054718;
double r3054720 = r3054719 * r3054719;
double r3054721 = r3054716 - r3054720;
double r3054722 = fabs(r3054721);
double r3054723 = sqrt(r3054722);
return r3054723;
}



Bits error versus a



Bits error versus b
Results
Initial program 30.9
Simplified7.9
Final simplification7.9
herbie shell --seed 2019171
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0.0 b a 1.0)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))