\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.32996296778409252 \cdot 10^{-14}:\\
\;\;\;\;\sqrt{\left({\left(e^{2}\right)}^{\left(\frac{1}{2} \cdot x\right)} + \sqrt{1}\right) \cdot \frac{e^{1 \cdot x} - \sqrt{1}}{e^{x} - 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 r10493 = 2.0;
double r10494 = x;
double r10495 = r10493 * r10494;
double r10496 = exp(r10495);
double r10497 = 1.0;
double r10498 = r10496 - r10497;
double r10499 = exp(r10494);
double r10500 = r10499 - r10497;
double r10501 = r10498 / r10500;
double r10502 = sqrt(r10501);
return r10502;
}
double f(double x) {
double r10503 = x;
double r10504 = -1.3299629677840925e-14;
bool r10505 = r10503 <= r10504;
double r10506 = 2.0;
double r10507 = exp(r10506);
double r10508 = 0.5;
double r10509 = r10508 * r10503;
double r10510 = pow(r10507, r10509);
double r10511 = 1.0;
double r10512 = sqrt(r10511);
double r10513 = r10510 + r10512;
double r10514 = r10511 * r10503;
double r10515 = exp(r10514);
double r10516 = r10515 - r10512;
double r10517 = exp(r10503);
double r10518 = r10517 - r10511;
double r10519 = r10516 / r10518;
double r10520 = r10513 * r10519;
double r10521 = sqrt(r10520);
double r10522 = 0.5;
double r10523 = sqrt(r10506);
double r10524 = r10503 / r10523;
double r10525 = r10522 * r10524;
double r10526 = 2.0;
double r10527 = pow(r10503, r10526);
double r10528 = r10527 / r10523;
double r10529 = 0.25;
double r10530 = 0.125;
double r10531 = r10530 / r10506;
double r10532 = r10529 - r10531;
double r10533 = r10528 * r10532;
double r10534 = r10523 + r10533;
double r10535 = r10525 + r10534;
double r10536 = r10505 ? r10521 : r10535;
return r10536;
}



Bits error versus x
Results
if x < -1.3299629677840925e-14Initial program 0.7
rmApplied *-un-lft-identity0.7
Applied add-sqr-sqrt0.7
Applied add-sqr-sqrt0.6
Applied difference-of-squares0.2
Applied times-frac0.2
Simplified0.2
rmApplied add-log-exp0.2
Applied exp-to-pow0.2
Applied sqrt-pow10.0
Simplified0.0
rmApplied add-log-exp0.0
Applied exp-to-pow0.0
Applied sqrt-pow10.0
Simplified0.0
Taylor expanded around inf 0.0
if -1.3299629677840925e-14 < x Initial program 36.3
Taylor expanded around 0 8.5
Simplified8.5
Final simplification0.9
herbie shell --seed 2020024
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))