\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|\frac{1 - {\left(\frac{b \cdot \frac{b}{a}}{a}\right)}^{3}}{\left(\frac{b}{a} \cdot \frac{b}{a}\right) \cdot \left(1 + \frac{b \cdot \frac{b}{a}}{a}\right) + 1}\right|}double f(double a, double b) {
double r64925 = a;
double r64926 = r64925 * r64925;
double r64927 = b;
double r64928 = r64927 * r64927;
double r64929 = r64926 - r64928;
double r64930 = r64929 / r64926;
double r64931 = fabs(r64930);
double r64932 = sqrt(r64931);
return r64932;
}
double f(double a, double b) {
double r64933 = 1.0;
double r64934 = b;
double r64935 = a;
double r64936 = r64934 / r64935;
double r64937 = r64934 * r64936;
double r64938 = r64937 / r64935;
double r64939 = 3.0;
double r64940 = pow(r64938, r64939);
double r64941 = r64933 - r64940;
double r64942 = r64936 * r64936;
double r64943 = r64933 + r64938;
double r64944 = r64942 * r64943;
double r64945 = r64944 + r64933;
double r64946 = r64941 / r64945;
double r64947 = fabs(r64946);
double r64948 = sqrt(r64947);
return r64948;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.3
Simplified14.3
rmApplied associate-/r*0.6
Simplified0.0
rmApplied flip3--0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020046
(FPCore (a b)
:name "Eccentricity of an ellipse"
:precision binary64
:pre (<= 0.0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))