\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -3.79195243520060967 \cdot 10^{-15}:\\
\;\;\;\;\sqrt{\frac{\sqrt[3]{{\left(\sqrt{e^{2 \cdot x}}\right)}^{3}} + \sqrt{1}}{\frac{e^{x} - 1}{{\left(e^{x}\right)}^{\left(\frac{2}{2}\right)} - \sqrt{1}}}}\\
\mathbf{elif}\;x \le 1.11017384914148877 \cdot 10^{-16}:\\
\;\;\;\;0.5 \cdot \frac{x}{\sqrt{2}} + \left(\sqrt{2} + \frac{{x}^{2}}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{{\left(e^{x}\right)}^{\left(\frac{2}{2}\right)} + \sqrt{1}}{\frac{e^{x} - 1}{{\left(e^{x}\right)}^{\left(\frac{2}{2}\right)} - \sqrt{1}}}}\\
\end{array}double code(double x) {
return ((double) sqrt(((double) (((double) (((double) exp(((double) (2.0 * x)))) - 1.0)) / ((double) (((double) exp(x)) - 1.0))))));
}
double code(double x) {
double VAR;
if ((x <= -3.79195243520061e-15)) {
VAR = ((double) sqrt(((double) (((double) (((double) cbrt(((double) pow(((double) sqrt(((double) exp(((double) (2.0 * x)))))), 3.0)))) + ((double) sqrt(1.0)))) / ((double) (((double) (((double) exp(x)) - 1.0)) / ((double) (((double) pow(((double) exp(x)), ((double) (2.0 / 2.0)))) - ((double) sqrt(1.0))))))))));
} else {
double VAR_1;
if ((x <= 1.1101738491414888e-16)) {
VAR_1 = ((double) (((double) (0.5 * ((double) (x / ((double) sqrt(2.0)))))) + ((double) (((double) sqrt(2.0)) + ((double) (((double) (((double) pow(x, 2.0)) / ((double) sqrt(2.0)))) * ((double) (0.25 - ((double) (0.125 / 2.0))))))))));
} else {
VAR_1 = ((double) sqrt(((double) (((double) (((double) pow(((double) exp(x)), ((double) (2.0 / 2.0)))) + ((double) sqrt(1.0)))) / ((double) (((double) (((double) exp(x)) - 1.0)) / ((double) (((double) pow(((double) exp(x)), ((double) (2.0 / 2.0)))) - ((double) sqrt(1.0))))))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x
Results
if x < -3.79195243520061e-15Initial program 0.8
rmApplied add-sqr-sqrt0.8
Applied add-sqr-sqrt0.7
Applied difference-of-squares0.2
Applied associate-/l*0.2
rmApplied *-commutative0.2
Applied exp-prod0.0
Applied sqrt-pow10.0
rmApplied add-cbrt-cube0.0
Simplified0.0
if -3.79195243520061e-15 < x < 1.1101738491414888e-16Initial program 60.5
Taylor expanded around 0 0.1
Simplified0.1
if 1.1101738491414888e-16 < x Initial program 15.8
rmApplied add-sqr-sqrt15.8
Applied add-sqr-sqrt13.3
Applied difference-of-squares5.7
Applied associate-/l*5.7
rmApplied *-commutative5.7
Applied exp-prod2.3
Applied sqrt-pow12.3
rmApplied *-commutative2.3
Applied exp-prod2.3
Applied sqrt-pow11.4
Final simplification0.1
herbie shell --seed 2020114
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))