\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 r2973026 = a;
double r2973027 = r2973026 * r2973026;
double r2973028 = b;
double r2973029 = r2973028 * r2973028;
double r2973030 = r2973027 - r2973029;
double r2973031 = r2973030 / r2973027;
double r2973032 = fabs(r2973031);
double r2973033 = sqrt(r2973032);
return r2973033;
}
double f(double a, double b) {
double r2973034 = 1.0;
double r2973035 = b;
double r2973036 = a;
double r2973037 = r2973035 / r2973036;
double r2973038 = r2973037 * r2973037;
double r2973039 = r2973034 - r2973038;
double r2973040 = fabs(r2973039);
double r2973041 = sqrt(r2973040);
return r2973041;
}



Bits error versus a



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