\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -6.87791414643454749 \cdot 10^{-6}:\\
\;\;\;\;\sqrt{\frac{\left(e^{x} + 1\right) \cdot \left(e^{2 \cdot x} - 1\right)}{e^{2 \cdot x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(0.5, {x}^{2}, \mathsf{fma}\left(1, x, 2\right)\right)}\\
\end{array}double f(double x) {
double r11906 = 2.0;
double r11907 = x;
double r11908 = r11906 * r11907;
double r11909 = exp(r11908);
double r11910 = 1.0;
double r11911 = r11909 - r11910;
double r11912 = exp(r11907);
double r11913 = r11912 - r11910;
double r11914 = r11911 / r11913;
double r11915 = sqrt(r11914);
return r11915;
}
double f(double x) {
double r11916 = x;
double r11917 = -6.8779141464345475e-06;
bool r11918 = r11916 <= r11917;
double r11919 = exp(r11916);
double r11920 = 1.0;
double r11921 = r11919 + r11920;
double r11922 = 2.0;
double r11923 = r11922 * r11916;
double r11924 = exp(r11923);
double r11925 = r11924 - r11920;
double r11926 = r11921 * r11925;
double r11927 = 2.0;
double r11928 = r11927 * r11916;
double r11929 = exp(r11928);
double r11930 = r11929 - r11920;
double r11931 = r11926 / r11930;
double r11932 = sqrt(r11931);
double r11933 = 0.5;
double r11934 = pow(r11916, r11927);
double r11935 = fma(r11920, r11916, r11922);
double r11936 = fma(r11933, r11934, r11935);
double r11937 = sqrt(r11936);
double r11938 = r11918 ? r11932 : r11937;
return r11938;
}



Bits error versus x
if x < -6.8779141464345475e-06Initial program 0.1
rmApplied flip--0.0
Applied associate-/r/0.0
Simplified0.0
Taylor expanded around inf 0.0
if -6.8779141464345475e-06 < x Initial program 34.1
Taylor expanded around 0 6.5
Simplified6.5
Final simplification0.8
herbie shell --seed 2020056 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))