\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\mathsf{hypot}\left(1, \sqrt{e^{x}}\right)double f(double x) {
double r346766 = 2.0;
double r346767 = x;
double r346768 = r346766 * r346767;
double r346769 = exp(r346768);
double r346770 = 1.0;
double r346771 = r346769 - r346770;
double r346772 = exp(r346767);
double r346773 = r346772 - r346770;
double r346774 = r346771 / r346773;
double r346775 = sqrt(r346774);
return r346775;
}
double f(double x) {
double r346776 = 1.0;
double r346777 = x;
double r346778 = exp(r346777);
double r346779 = sqrt(r346778);
double r346780 = hypot(r346776, r346779);
return r346780;
}



Bits error versus x
Results
Initial program 4.3
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied *-un-lft-identity0.1
Applied hypot-def0.1
Final simplification0.1
herbie shell --seed 2019153 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))