\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|\left(\sqrt{\frac{a + b}{a}} \cdot \sqrt{\frac{a - b}{a}}\right) \cdot \left(\sqrt{\frac{a + b}{a}} \cdot \sqrt{\frac{a - b}{a}}\right)\right|}double code(double a, double b) {
return sqrt(fabs((((a * a) - (b * b)) / (a * a))));
}
double code(double a, double b) {
return sqrt(fabs(((sqrt(((a + b) / a)) * sqrt(((a - b) / a))) * (sqrt(((a + b) / a)) * sqrt(((a - b) / a))))));
}



Bits error versus a



Bits error versus b
Results
Initial program 14.3
rmApplied difference-of-squares14.3
Applied times-frac0.0
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.1
Applied unswap-sqr0.1
Final simplification0.1
herbie shell --seed 2020100 +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)))))