\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|1 - \left|\frac{b}{a}\right| \cdot \left|\frac{b}{a}\right|\right|}double f(double a, double b) {
double r44470 = a;
double r44471 = r44470 * r44470;
double r44472 = b;
double r44473 = r44472 * r44472;
double r44474 = r44471 - r44473;
double r44475 = r44474 / r44471;
double r44476 = fabs(r44475);
double r44477 = sqrt(r44476);
return r44477;
}
double f(double a, double b) {
double r44478 = 1.0;
double r44479 = b;
double r44480 = a;
double r44481 = r44479 / r44480;
double r44482 = fabs(r44481);
double r44483 = r44482 * r44482;
double r44484 = r44478 - r44483;
double r44485 = fabs(r44484);
double r44486 = sqrt(r44485);
return r44486;
}



Bits error versus a



Bits error versus b
Results
Initial program 15.0
Simplified15.0
rmApplied add-sqr-sqrt15.0
Simplified15.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020047 +o rules:numerics
(FPCore (a b)
:name "Eccentricity of an ellipse"
:precision binary64
:pre (<= 0.0 b a 1)
(sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))