\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.2887874422510308 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1} \cdot \left(e^{x} + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 + x \cdot \left(1 + 0.5 \cdot x\right)}\\
\end{array}double f(double x) {
double r11918 = 2.0;
double r11919 = x;
double r11920 = r11918 * r11919;
double r11921 = exp(r11920);
double r11922 = 1.0;
double r11923 = r11921 - r11922;
double r11924 = exp(r11919);
double r11925 = r11924 - r11922;
double r11926 = r11923 / r11925;
double r11927 = sqrt(r11926);
return r11927;
}
double f(double x) {
double r11928 = x;
double r11929 = -1.2887874422510308e-05;
bool r11930 = r11928 <= r11929;
double r11931 = 2.0;
double r11932 = r11931 * r11928;
double r11933 = exp(r11932);
double r11934 = 1.0;
double r11935 = r11933 - r11934;
double r11936 = r11928 + r11928;
double r11937 = exp(r11936);
double r11938 = r11934 * r11934;
double r11939 = r11937 - r11938;
double r11940 = r11935 / r11939;
double r11941 = exp(r11928);
double r11942 = r11941 + r11934;
double r11943 = r11940 * r11942;
double r11944 = sqrt(r11943);
double r11945 = 0.5;
double r11946 = r11945 * r11928;
double r11947 = r11934 + r11946;
double r11948 = r11928 * r11947;
double r11949 = r11931 + r11948;
double r11950 = sqrt(r11949);
double r11951 = r11930 ? r11944 : r11950;
return r11951;
}



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