\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 r3802600 = a;
double r3802601 = r3802600 * r3802600;
double r3802602 = b;
double r3802603 = r3802602 * r3802602;
double r3802604 = r3802601 - r3802603;
double r3802605 = r3802604 / r3802601;
double r3802606 = fabs(r3802605);
double r3802607 = sqrt(r3802606);
return r3802607;
}
double f(double a, double b) {
double r3802608 = 1.0;
double r3802609 = b;
double r3802610 = a;
double r3802611 = r3802609 / r3802610;
double r3802612 = r3802611 * r3802611;
double r3802613 = r3802608 - r3802612;
double r3802614 = fabs(r3802613);
double r3802615 = sqrt(r3802614);
return r3802615;
}



Bits error versus a



Bits error versus b
Results
Initial program 30.8
Simplified8.3
Final simplification8.3
herbie shell --seed 2019169 +o rules:numerics
(FPCore (a b)
:name "Eccentricity of an ellipse"
:pre (<= 0.0 b a 1.0)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))