\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.26321628786970431 \cdot 10^{-5}:\\
\;\;\;\;\mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt{\frac{e^{2 \cdot x} - 1}{\mathsf{fma}\left(-1, 1, e^{x + x}\right)} \cdot \left(e^{x} + 1\right)}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(0.5, {x}^{2}, \mathsf{fma}\left(1, x, 2\right)\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 <= -1.2632162878697043e-05)) {
VAR = ((double) expm1(((double) log1p(((double) sqrt(((double) (((double) (((double) (((double) exp(((double) (2.0 * x)))) - 1.0)) / ((double) fma(((double) -(1.0)), 1.0, ((double) exp(((double) (x + x)))))))) * ((double) (((double) exp(x)) + 1.0))))))))));
} else {
VAR = ((double) sqrt(((double) fma(0.5, ((double) pow(x, 2.0)), ((double) fma(1.0, x, 2.0))))));
}
return VAR;
}



Bits error versus x
Results
if x < -1.2632162878697043e-05Initial program 0.1
rmApplied flip--0.1
Applied associate-/r/0.1
Simplified0.0
rmApplied expm1-log1p-u0.0
if -1.2632162878697043e-05 < x Initial program 34.6
Taylor expanded around 0 7.3
Simplified7.3
Final simplification1.0
herbie shell --seed 2020123 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))