\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\mathsf{hypot}\left(1, \sqrt{e^{x}}\right)double f(double x) {
double r968771 = 2.0;
double r968772 = x;
double r968773 = r968771 * r968772;
double r968774 = exp(r968773);
double r968775 = 1.0;
double r968776 = r968774 - r968775;
double r968777 = exp(r968772);
double r968778 = r968777 - r968775;
double r968779 = r968776 / r968778;
double r968780 = sqrt(r968779);
return r968780;
}
double f(double x) {
double r968781 = 1.0;
double r968782 = x;
double r968783 = exp(r968782);
double r968784 = sqrt(r968783);
double r968785 = hypot(r968781, r968784);
return r968785;
}



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