\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \leq -6.4460959501863895 \cdot 10^{-06}:\\
\;\;\;\;\sqrt{\frac{{\left(e^{x}\right)}^{2} - 1}{\frac{{\left(e^{x}\right)}^{2} - 1 \cdot 1}{e^{x} + 1}}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2} + \left(\left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt{\sqrt{2}}} \cdot \left(x \cdot \frac{\sqrt[3]{x}}{\sqrt{\sqrt{2}}}\right)\right) \cdot 0.1875 + 0.5 \cdot \frac{x}{\sqrt{2}}\right)\\
\end{array}double code(double x) {
return ((double) sqrt((((double) (((double) exp(((double) (2.0 * x)))) - 1.0)) / ((double) (((double) exp(x)) - 1.0)))));
}
double code(double x) {
double VAR;
if ((x <= -6.4460959501863895e-06)) {
VAR = ((double) sqrt((((double) (((double) pow(((double) exp(x)), 2.0)) - 1.0)) / (((double) (((double) pow(((double) exp(x)), 2.0)) - ((double) (1.0 * 1.0)))) / ((double) (((double) exp(x)) + 1.0))))));
} else {
VAR = ((double) (((double) sqrt(2.0)) + ((double) (((double) (((double) ((((double) (((double) cbrt(x)) * ((double) cbrt(x)))) / ((double) sqrt(((double) sqrt(2.0))))) * ((double) (x * (((double) cbrt(x)) / ((double) sqrt(((double) sqrt(2.0))))))))) * 0.1875)) + ((double) (0.5 * (x / ((double) sqrt(2.0)))))))));
}
return VAR;
}



Bits error versus x
Results
if x < -6.44609595018638952e-6Initial program 0.1
Simplified0.1
rmApplied flip--0.0
Simplified0.0
if -6.44609595018638952e-6 < x Initial program 61.5
Simplified61.1
Taylor expanded around 0 0.6
Simplified0.6
rmApplied add-sqr-sqrt0.6
Applied sqrt-prod0.6
Applied add-cube-cbrt0.6
Applied times-frac0.6
Applied associate-*l*0.6
Simplified0.6
Final simplification0.4
herbie shell --seed 2020198
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))