\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.288683916673524238328662344654773619368 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}} \cdot \sqrt{e^{x} + 1}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 + x \cdot \left(0.5 \cdot x + 1\right)}\\
\end{array}double f(double x) {
double r18852 = 2.0;
double r18853 = x;
double r18854 = r18852 * r18853;
double r18855 = exp(r18854);
double r18856 = 1.0;
double r18857 = r18855 - r18856;
double r18858 = exp(r18853);
double r18859 = r18858 - r18856;
double r18860 = r18857 / r18859;
double r18861 = sqrt(r18860);
return r18861;
}
double f(double x) {
double r18862 = x;
double r18863 = -1.2886839166735242e-05;
bool r18864 = r18862 <= r18863;
double r18865 = 2.0;
double r18866 = r18865 * r18862;
double r18867 = exp(r18866);
double r18868 = 1.0;
double r18869 = r18867 - r18868;
double r18870 = r18862 + r18862;
double r18871 = exp(r18870);
double r18872 = r18868 * r18868;
double r18873 = r18871 - r18872;
double r18874 = r18869 / r18873;
double r18875 = sqrt(r18874);
double r18876 = exp(r18862);
double r18877 = r18876 + r18868;
double r18878 = sqrt(r18877);
double r18879 = r18875 * r18878;
double r18880 = 0.5;
double r18881 = r18880 * r18862;
double r18882 = r18881 + r18868;
double r18883 = r18862 * r18882;
double r18884 = r18865 + r18883;
double r18885 = sqrt(r18884);
double r18886 = r18864 ? r18879 : r18885;
return r18886;
}



Bits error versus x
Results
if x < -1.2886839166735242e-05Initial program 0.1
rmApplied flip--0.1
Applied associate-/r/0.1
Applied sqrt-prod0.1
Simplified0.0
if -1.2886839166735242e-05 < x Initial program 33.9
Taylor expanded around 0 6.5
Simplified6.5
Final simplification0.9
herbie shell --seed 2019306
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))