\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|\left(\frac{b}{a} + 1\right) \cdot \left(1 - \frac{b}{a}\right)\right|}double f(double a, double b) {
double r4328380 = a;
double r4328381 = r4328380 * r4328380;
double r4328382 = b;
double r4328383 = r4328382 * r4328382;
double r4328384 = r4328381 - r4328383;
double r4328385 = r4328384 / r4328381;
double r4328386 = fabs(r4328385);
double r4328387 = sqrt(r4328386);
return r4328387;
}
double f(double a, double b) {
double r4328388 = b;
double r4328389 = a;
double r4328390 = r4328388 / r4328389;
double r4328391 = 1.0;
double r4328392 = r4328390 + r4328391;
double r4328393 = r4328391 - r4328390;
double r4328394 = r4328392 * r4328393;
double r4328395 = fabs(r4328394);
double r4328396 = sqrt(r4328395);
return r4328396;
}



Bits error versus a



Bits error versus b
Results
Initial program 29.4
Simplified7.5
rmApplied *-un-lft-identity7.5
Applied difference-of-squares7.6
Final simplification7.6
herbie shell --seed 2019163
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))