\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -7.26854291605878706 \cdot 10^{-16}:\\
\;\;\;\;\sqrt{\frac{{\left(e^{2}\right)}^{\left(\frac{1}{2} \cdot x\right)} + \sqrt{1}}{1}} \cdot \sqrt{\frac{{\left(e^{2}\right)}^{\left(\frac{1}{2} \cdot x\right)} - \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 r10960 = 2.0;
double r10961 = x;
double r10962 = r10960 * r10961;
double r10963 = exp(r10962);
double r10964 = 1.0;
double r10965 = r10963 - r10964;
double r10966 = exp(r10961);
double r10967 = r10966 - r10964;
double r10968 = r10965 / r10967;
double r10969 = sqrt(r10968);
return r10969;
}
double f(double x) {
double r10970 = x;
double r10971 = -7.268542916058787e-16;
bool r10972 = r10970 <= r10971;
double r10973 = 2.0;
double r10974 = exp(r10973);
double r10975 = 0.5;
double r10976 = r10975 * r10970;
double r10977 = pow(r10974, r10976);
double r10978 = 1.0;
double r10979 = sqrt(r10978);
double r10980 = r10977 + r10979;
double r10981 = 1.0;
double r10982 = r10980 / r10981;
double r10983 = sqrt(r10982);
double r10984 = r10977 - r10979;
double r10985 = exp(r10970);
double r10986 = r10985 - r10978;
double r10987 = r10984 / r10986;
double r10988 = sqrt(r10987);
double r10989 = r10983 * r10988;
double r10990 = 0.5;
double r10991 = sqrt(r10973);
double r10992 = r10970 / r10991;
double r10993 = r10990 * r10992;
double r10994 = 2.0;
double r10995 = pow(r10970, r10994);
double r10996 = r10995 / r10991;
double r10997 = 0.25;
double r10998 = 0.125;
double r10999 = r10998 / r10973;
double r11000 = r10997 - r10999;
double r11001 = r10996 * r11000;
double r11002 = r10991 + r11001;
double r11003 = r10993 + r11002;
double r11004 = r10972 ? r10989 : r11003;
return r11004;
}



Bits error versus x
Results
if x < -7.268542916058787e-16Initial 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
Applied sqrt-prod0.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
if -7.268542916058787e-16 < x Initial program 37.3
Taylor expanded around 0 7.3
Simplified7.3
Final simplification0.7
herbie shell --seed 2020046
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))