\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -4.7552481292438652 \cdot 10^{-11}:\\
\;\;\;\;\sqrt{\frac{\sqrt{e^{2 \cdot x}} + \sqrt{1}}{\frac{e^{x} - 1}{\sqrt{e^{2 \cdot x}} - \sqrt{1}}}}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \frac{x}{\sqrt{2}} + \left(\sqrt{2} + \frac{{x}^{2}}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right)\\
\end{array}double f(double x) {
double r65 = 2.0;
double r66 = x;
double r67 = r65 * r66;
double r68 = exp(r67);
double r69 = 1.0;
double r70 = r68 - r69;
double r71 = exp(r66);
double r72 = r71 - r69;
double r73 = r70 / r72;
double r74 = sqrt(r73);
return r74;
}
double f(double x) {
double r75 = x;
double r76 = -4.755248129243865e-11;
bool r77 = r75 <= r76;
double r78 = 2.0;
double r79 = r78 * r75;
double r80 = exp(r79);
double r81 = sqrt(r80);
double r82 = 1.0;
double r83 = sqrt(r82);
double r84 = r81 + r83;
double r85 = exp(r75);
double r86 = r85 - r82;
double r87 = r81 - r83;
double r88 = r86 / r87;
double r89 = r84 / r88;
double r90 = sqrt(r89);
double r91 = 0.5;
double r92 = sqrt(r78);
double r93 = r75 / r92;
double r94 = r91 * r93;
double r95 = 2.0;
double r96 = pow(r75, r95);
double r97 = r96 / r92;
double r98 = 0.25;
double r99 = 0.125;
double r100 = r99 / r78;
double r101 = r98 - r100;
double r102 = r97 * r101;
double r103 = r92 + r102;
double r104 = r94 + r103;
double r105 = r77 ? r90 : r104;
return r105;
}



Bits error versus x
Results
if x < -4.755248129243865e-11Initial program 0.5
rmApplied add-sqr-sqrt0.5
Applied add-sqr-sqrt0.4
Applied difference-of-squares0.1
Applied associate-/l*0.1
if -4.755248129243865e-11 < x Initial program 36.3
Taylor expanded around 0 7.0
Simplified6.9
Final simplification0.9
herbie shell --seed 2020025
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))