\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 r3109737 = a;
double r3109738 = r3109737 * r3109737;
double r3109739 = b;
double r3109740 = r3109739 * r3109739;
double r3109741 = r3109738 - r3109740;
double r3109742 = r3109741 / r3109738;
double r3109743 = fabs(r3109742);
double r3109744 = sqrt(r3109743);
return r3109744;
}
double f(double a, double b) {
double r3109745 = 1.0;
double r3109746 = b;
double r3109747 = a;
double r3109748 = r3109746 / r3109747;
double r3109749 = r3109748 * r3109748;
double r3109750 = r3109745 - r3109749;
double r3109751 = fabs(r3109750);
double r3109752 = sqrt(r3109751);
return r3109752;
}



Bits error versus a



Bits error versus b
Results
Initial program 29.0
Simplified7.6
Final simplification7.6
herbie shell --seed 2019151 +o rules:numerics
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))