\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\sqrt{\left|e^{\mathsf{log1p}\left(\frac{a + b}{a} \cdot \frac{a - b}{a}\right)} - 1\right|}double f(double a, double b) {
double r69014 = a;
double r69015 = r69014 * r69014;
double r69016 = b;
double r69017 = r69016 * r69016;
double r69018 = r69015 - r69017;
double r69019 = r69018 / r69015;
double r69020 = fabs(r69019);
double r69021 = sqrt(r69020);
return r69021;
}
double f(double a, double b) {
double r69022 = a;
double r69023 = b;
double r69024 = r69022 + r69023;
double r69025 = r69024 / r69022;
double r69026 = r69022 - r69023;
double r69027 = r69026 / r69022;
double r69028 = r69025 * r69027;
double r69029 = log1p(r69028);
double r69030 = exp(r69029);
double r69031 = 1.0;
double r69032 = r69030 - r69031;
double r69033 = fabs(r69032);
double r69034 = sqrt(r69033);
return r69034;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.7
rmApplied difference-of-squares14.7
Applied times-frac0.0
rmApplied expm1-log1p-u0.0
rmApplied expm1-udef0.0
Final simplification0.0
herbie shell --seed 2020024 +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)))))