\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -7.19520557993145058 \cdot 10^{-16}:\\
\;\;\;\;\sqrt{\frac{\sqrt{e^{2 \cdot x}} + \sqrt{1}}{\frac{e^{x}}{\sqrt{e^{2 \cdot x}} - \sqrt{1}} - \frac{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 r24074 = 2.0;
double r24075 = x;
double r24076 = r24074 * r24075;
double r24077 = exp(r24076);
double r24078 = 1.0;
double r24079 = r24077 - r24078;
double r24080 = exp(r24075);
double r24081 = r24080 - r24078;
double r24082 = r24079 / r24081;
double r24083 = sqrt(r24082);
return r24083;
}
double f(double x) {
double r24084 = x;
double r24085 = -7.195205579931451e-16;
bool r24086 = r24084 <= r24085;
double r24087 = 2.0;
double r24088 = r24087 * r24084;
double r24089 = exp(r24088);
double r24090 = sqrt(r24089);
double r24091 = 1.0;
double r24092 = sqrt(r24091);
double r24093 = r24090 + r24092;
double r24094 = exp(r24084);
double r24095 = r24090 - r24092;
double r24096 = r24094 / r24095;
double r24097 = r24091 / r24095;
double r24098 = r24096 - r24097;
double r24099 = r24093 / r24098;
double r24100 = sqrt(r24099);
double r24101 = 0.5;
double r24102 = sqrt(r24087);
double r24103 = r24084 / r24102;
double r24104 = r24101 * r24103;
double r24105 = 2.0;
double r24106 = pow(r24084, r24105);
double r24107 = r24106 / r24102;
double r24108 = 0.25;
double r24109 = 0.125;
double r24110 = r24109 / r24087;
double r24111 = r24108 - r24110;
double r24112 = r24107 * r24111;
double r24113 = r24102 + r24112;
double r24114 = r24104 + r24113;
double r24115 = r24086 ? r24100 : r24114;
return r24115;
}



Bits error versus x
Results
if x < -7.195205579931451e-16Initial program 0.7
rmApplied add-sqr-sqrt0.7
Applied add-sqr-sqrt0.6
Applied difference-of-squares0.2
Applied associate-/l*0.2
rmApplied div-sub0.2
if -7.195205579931451e-16 < x Initial program 37.5
Taylor expanded around 0 8.9
Simplified8.9
Final simplification1.1
herbie shell --seed 2020060
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))