\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -2.85360628086390432 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{\left(\sqrt{e^{2 \cdot x}} + \sqrt{1}\right) \cdot \left(\sqrt{e^{2 \cdot x}} - \sqrt{1}\right)}{e^{x} - 1}}\\
\mathbf{elif}\;x \le 1.4337737389655462 \cdot 10^{-4}:\\
\;\;\;\;\sqrt{x \cdot \left(1 + 0.5 \cdot x\right) + 2}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{\log \left(e^{e^{x} - 1}\right)}}\\
\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 <= -2.8536062808639043e-05)) {
VAR = ((double) sqrt(((double) (((double) (((double) (((double) sqrt(((double) exp(((double) (2.0 * x)))))) + ((double) sqrt(1.0)))) * ((double) (((double) sqrt(((double) exp(((double) (2.0 * x)))))) - ((double) sqrt(1.0)))))) / ((double) (((double) exp(x)) - 1.0))))));
} else {
double VAR_1;
if ((x <= 0.00014337737389655462)) {
VAR_1 = ((double) sqrt(((double) (((double) (x * ((double) (1.0 + ((double) (0.5 * x)))))) + 2.0))));
} else {
VAR_1 = ((double) sqrt(((double) (((double) (((double) exp(((double) (2.0 * x)))) - 1.0)) / ((double) log(((double) exp(((double) (((double) exp(x)) - 1.0))))))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x
Results
if x < -2.85360628086390432e-5Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.0
Applied difference-of-squares0.0
if -2.85360628086390432e-5 < x < 1.4337737389655462e-4Initial program 39.5
Taylor expanded around 0 0.3
Simplified0.3
if 1.4337737389655462e-4 < x Initial program 6.3
rmApplied add-log-exp6.3
Applied add-log-exp20.0
Applied diff-log20.2
Simplified20.1
Final simplification0.4
herbie shell --seed 2020152
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))