\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -5.424460250624855105466143312398230591498 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{\mathsf{fma}\left(\sqrt{e^{2 \cdot x}}, \sqrt{e^{2 \cdot x}}, -1\right)}{\mathsf{log1p}\left(\mathsf{expm1}\left(e^{x} - 1\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(x, \mathsf{fma}\left(x, 0.4999999999999997779553950749686919152737, 1\right), 2\right)}\\
\end{array}double f(double x) {
double r4749561 = 2.0;
double r4749562 = x;
double r4749563 = r4749561 * r4749562;
double r4749564 = exp(r4749563);
double r4749565 = 1.0;
double r4749566 = r4749564 - r4749565;
double r4749567 = exp(r4749562);
double r4749568 = r4749567 - r4749565;
double r4749569 = r4749566 / r4749568;
double r4749570 = sqrt(r4749569);
return r4749570;
}
double f(double x) {
double r4749571 = x;
double r4749572 = -5.424460250624855e-05;
bool r4749573 = r4749571 <= r4749572;
double r4749574 = 2.0;
double r4749575 = r4749574 * r4749571;
double r4749576 = exp(r4749575);
double r4749577 = sqrt(r4749576);
double r4749578 = 1.0;
double r4749579 = -r4749578;
double r4749580 = fma(r4749577, r4749577, r4749579);
double r4749581 = exp(r4749571);
double r4749582 = r4749581 - r4749578;
double r4749583 = expm1(r4749582);
double r4749584 = log1p(r4749583);
double r4749585 = r4749580 / r4749584;
double r4749586 = sqrt(r4749585);
double r4749587 = 0.4999999999999998;
double r4749588 = fma(r4749571, r4749587, r4749578);
double r4749589 = fma(r4749571, r4749588, r4749574);
double r4749590 = sqrt(r4749589);
double r4749591 = r4749573 ? r4749586 : r4749590;
return r4749591;
}



Bits error versus x
if x < -5.424460250624855e-05Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied fma-neg0.0
rmApplied log1p-expm1-u0.0
if -5.424460250624855e-05 < x Initial program 34.7
rmApplied add-sqr-sqrt32.4
Applied fma-neg27.0
rmApplied div-inv27.0
Taylor expanded around 0 6.3
Simplified6.3
Final simplification0.8
herbie shell --seed 2019173 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))