\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -2.5679454952614643 \cdot 10^{-15}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{\sqrt[3]{{\left(e^{2 \cdot x} - 1 \cdot 1\right)}^{3}}} \cdot \left(e^{x} + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(\frac{x}{\sqrt{2}}, 0.5, \sqrt{2}\right) - 0.125 \cdot \frac{{x}^{2}}{{\left(\sqrt{2}\right)}^{3}}\right)\\
\end{array}double f(double x) {
double r20934 = 2.0;
double r20935 = x;
double r20936 = r20934 * r20935;
double r20937 = exp(r20936);
double r20938 = 1.0;
double r20939 = r20937 - r20938;
double r20940 = exp(r20935);
double r20941 = r20940 - r20938;
double r20942 = r20939 / r20941;
double r20943 = sqrt(r20942);
return r20943;
}
double f(double x) {
double r20944 = x;
double r20945 = -2.5679454952614643e-15;
bool r20946 = r20944 <= r20945;
double r20947 = 2.0;
double r20948 = r20947 * r20944;
double r20949 = exp(r20948);
double r20950 = 1.0;
double r20951 = r20949 - r20950;
double r20952 = 2.0;
double r20953 = r20952 * r20944;
double r20954 = exp(r20953);
double r20955 = r20950 * r20950;
double r20956 = r20954 - r20955;
double r20957 = 3.0;
double r20958 = pow(r20956, r20957);
double r20959 = cbrt(r20958);
double r20960 = r20951 / r20959;
double r20961 = exp(r20944);
double r20962 = r20961 + r20950;
double r20963 = r20960 * r20962;
double r20964 = sqrt(r20963);
double r20965 = 0.25;
double r20966 = pow(r20944, r20952);
double r20967 = sqrt(r20947);
double r20968 = r20966 / r20967;
double r20969 = r20944 / r20967;
double r20970 = 0.5;
double r20971 = fma(r20969, r20970, r20967);
double r20972 = 0.125;
double r20973 = pow(r20967, r20957);
double r20974 = r20966 / r20973;
double r20975 = r20972 * r20974;
double r20976 = r20971 - r20975;
double r20977 = fma(r20965, r20968, r20976);
double r20978 = r20946 ? r20964 : r20977;
return r20978;
}



Bits error versus x
if x < -2.5679454952614643e-15Initial program 0.7
rmApplied flip--0.4
Applied associate-/r/0.4
Simplified0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
if -2.5679454952614643e-15 < x Initial program 38.5
rmApplied flip--36.1
Applied associate-/r/36.1
Simplified29.1
rmApplied add-cbrt-cube29.5
Simplified29.5
Taylor expanded around 0 7.4
Simplified7.4
Final simplification0.7
herbie shell --seed 2020045 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))