\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -2.538252460152239631466209890241736190647 \cdot 10^{-15} \lor \neg \left(x \le 1.11731374600617465290906760712553421595 \cdot 10^{-16}\right):\\
\;\;\;\;\sqrt{\frac{e^{\left(2 \cdot \frac{1}{2}\right) \cdot x} + \sqrt{1}}{\frac{e^{x} - 1}{{\left(e^{2}\right)}^{\left(\frac{1}{2} \cdot x\right)} - \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 r19110 = 2.0;
double r19111 = x;
double r19112 = r19110 * r19111;
double r19113 = exp(r19112);
double r19114 = 1.0;
double r19115 = r19113 - r19114;
double r19116 = exp(r19111);
double r19117 = r19116 - r19114;
double r19118 = r19115 / r19117;
double r19119 = sqrt(r19118);
return r19119;
}
double f(double x) {
double r19120 = x;
double r19121 = -2.5382524601522396e-15;
bool r19122 = r19120 <= r19121;
double r19123 = 1.1173137460061747e-16;
bool r19124 = r19120 <= r19123;
double r19125 = !r19124;
bool r19126 = r19122 || r19125;
double r19127 = 2.0;
double r19128 = 0.5;
double r19129 = r19127 * r19128;
double r19130 = r19129 * r19120;
double r19131 = exp(r19130);
double r19132 = 1.0;
double r19133 = sqrt(r19132);
double r19134 = r19131 + r19133;
double r19135 = exp(r19120);
double r19136 = r19135 - r19132;
double r19137 = exp(r19127);
double r19138 = r19128 * r19120;
double r19139 = pow(r19137, r19138);
double r19140 = r19139 - r19133;
double r19141 = r19136 / r19140;
double r19142 = r19134 / r19141;
double r19143 = sqrt(r19142);
double r19144 = 0.5;
double r19145 = sqrt(r19127);
double r19146 = r19120 / r19145;
double r19147 = r19144 * r19146;
double r19148 = 2.0;
double r19149 = pow(r19120, r19148);
double r19150 = r19149 / r19145;
double r19151 = 0.25;
double r19152 = 0.125;
double r19153 = r19152 / r19127;
double r19154 = r19151 - r19153;
double r19155 = r19150 * r19154;
double r19156 = r19145 + r19155;
double r19157 = r19147 + r19156;
double r19158 = r19126 ? r19143 : r19157;
return r19158;
}



Bits error versus x
Results
if x < -2.5382524601522396e-15 or 1.1173137460061747e-16 < x Initial program 1.6
rmApplied add-sqr-sqrt1.6
Applied add-sqr-sqrt1.3
Applied difference-of-squares0.6
Applied associate-/l*0.6
rmApplied add-log-exp0.6
Applied exp-to-pow0.6
Applied sqrt-pow10.1
Simplified0.1
rmApplied add-log-exp0.1
Applied exp-to-pow0.1
Applied sqrt-pow10.1
Simplified0.1
rmApplied pow-exp0.1
Simplified0.1
if -2.5382524601522396e-15 < x < 1.1173137460061747e-16Initial program 60.0
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019322
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))