\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.434798355623991 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{\frac{e^{2 \cdot x} - 1}{\frac{\mathsf{fma}\left(-1, 1, e^{x + x}\right)}{{\left(e^{x}\right)}^{3} + {1}^{3}}}}{e^{x} \cdot e^{x} + \left(1 \cdot 1 - e^{x} \cdot 1\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(0.49999999999999978, {x}^{2}, \mathsf{fma}\left(1, x, 2\right)\right)}\\
\end{array}double f(double x) {
double r20917 = 2.0;
double r20918 = x;
double r20919 = r20917 * r20918;
double r20920 = exp(r20919);
double r20921 = 1.0;
double r20922 = r20920 - r20921;
double r20923 = exp(r20918);
double r20924 = r20923 - r20921;
double r20925 = r20922 / r20924;
double r20926 = sqrt(r20925);
return r20926;
}
double f(double x) {
double r20927 = x;
double r20928 = -1.434798355623991e-05;
bool r20929 = r20927 <= r20928;
double r20930 = 2.0;
double r20931 = r20930 * r20927;
double r20932 = exp(r20931);
double r20933 = 1.0;
double r20934 = r20932 - r20933;
double r20935 = -r20933;
double r20936 = r20927 + r20927;
double r20937 = exp(r20936);
double r20938 = fma(r20935, r20933, r20937);
double r20939 = exp(r20927);
double r20940 = 3.0;
double r20941 = pow(r20939, r20940);
double r20942 = pow(r20933, r20940);
double r20943 = r20941 + r20942;
double r20944 = r20938 / r20943;
double r20945 = r20934 / r20944;
double r20946 = r20939 * r20939;
double r20947 = r20933 * r20933;
double r20948 = r20939 * r20933;
double r20949 = r20947 - r20948;
double r20950 = r20946 + r20949;
double r20951 = r20945 / r20950;
double r20952 = sqrt(r20951);
double r20953 = 0.4999999999999998;
double r20954 = 2.0;
double r20955 = pow(r20927, r20954);
double r20956 = fma(r20933, r20927, r20930);
double r20957 = fma(r20953, r20955, r20956);
double r20958 = sqrt(r20957);
double r20959 = r20929 ? r20952 : r20958;
return r20959;
}



Bits error versus x
if x < -1.434798355623991e-05Initial program 0.1
rmApplied flip--0.0
Simplified0.0
rmApplied flip3-+0.0
Applied associate-/r/0.0
Applied associate-/r*0.0
if -1.434798355623991e-05 < x Initial program 35.3
rmApplied add-sqr-sqrt33.0
Applied fma-neg27.6
Taylor expanded around 0 5.4
Simplified5.4
Final simplification0.7
herbie shell --seed 2020033 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))