\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|\frac{\left(a + b\right) \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\frac{a - b}{a}\right)\right)}{a}\right|}double f(double a, double b) {
double r85065 = a;
double r85066 = r85065 * r85065;
double r85067 = b;
double r85068 = r85067 * r85067;
double r85069 = r85066 - r85068;
double r85070 = r85069 / r85066;
double r85071 = fabs(r85070);
double r85072 = sqrt(r85071);
return r85072;
}
double f(double a, double b) {
double r85073 = a;
double r85074 = b;
double r85075 = r85073 + r85074;
double r85076 = r85073 - r85074;
double r85077 = r85076 / r85073;
double r85078 = expm1(r85077);
double r85079 = log1p(r85078);
double r85080 = r85075 * r85079;
double r85081 = r85080 / r85073;
double r85082 = fabs(r85081);
double r85083 = sqrt(r85082);
return r85083;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.5
rmApplied difference-of-squares14.5
Applied times-frac0.0
rmApplied associate-*r/0.0
Simplified0.0
rmApplied log1p-expm1-u0.0
Final simplification0.0
herbie shell --seed 2020065 +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)))))