\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -9.813313662631737005199832057922293415686 \cdot 10^{-6}:\\
\;\;\;\;\sqrt{\frac{\sqrt{1} + \sqrt{e^{2 \cdot x}}}{\frac{e^{x} - 1}{{\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} - \sqrt{1}}}}\\
\mathbf{elif}\;x \le 1.578024241221897350305036072937170388286 \cdot 10^{-6}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(x, x \cdot 0.5 + 1, 2\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{\sqrt{1} + \sqrt{e^{2 \cdot x}}}{\frac{e^{x} - 1}{{\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} - \sqrt{1}}}}\\
\end{array}double f(double x) {
double r1125610 = 2.0;
double r1125611 = x;
double r1125612 = r1125610 * r1125611;
double r1125613 = exp(r1125612);
double r1125614 = 1.0;
double r1125615 = r1125613 - r1125614;
double r1125616 = exp(r1125611);
double r1125617 = r1125616 - r1125614;
double r1125618 = r1125615 / r1125617;
double r1125619 = sqrt(r1125618);
return r1125619;
}
double f(double x) {
double r1125620 = x;
double r1125621 = -9.813313662631737e-06;
bool r1125622 = r1125620 <= r1125621;
double r1125623 = 1.0;
double r1125624 = sqrt(r1125623);
double r1125625 = 2.0;
double r1125626 = r1125625 * r1125620;
double r1125627 = exp(r1125626);
double r1125628 = sqrt(r1125627);
double r1125629 = r1125624 + r1125628;
double r1125630 = exp(r1125620);
double r1125631 = r1125630 - r1125623;
double r1125632 = exp(r1125625);
double r1125633 = 2.0;
double r1125634 = r1125620 / r1125633;
double r1125635 = pow(r1125632, r1125634);
double r1125636 = r1125635 - r1125624;
double r1125637 = r1125631 / r1125636;
double r1125638 = r1125629 / r1125637;
double r1125639 = sqrt(r1125638);
double r1125640 = 1.5780242412218974e-06;
bool r1125641 = r1125620 <= r1125640;
double r1125642 = 0.5;
double r1125643 = r1125620 * r1125642;
double r1125644 = r1125643 + r1125623;
double r1125645 = fma(r1125620, r1125644, r1125625);
double r1125646 = sqrt(r1125645);
double r1125647 = r1125641 ? r1125646 : r1125639;
double r1125648 = r1125622 ? r1125639 : r1125647;
return r1125648;
}



Bits error versus x
if x < -9.813313662631737e-06 or 1.5780242412218974e-06 < x Initial program 0.3
rmApplied add-sqr-sqrt0.3
Applied add-sqr-sqrt0.3
Applied difference-of-squares0.1
Applied associate-/l*0.1
rmApplied add-log-exp0.1
Applied exp-to-pow0.1
Applied sqrt-pow10.1
if -9.813313662631737e-06 < x < 1.5780242412218974e-06Initial program 41.1
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019169 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))