\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -9.587317954112346857544454308807111121368 \cdot 10^{-14}:\\
\;\;\;\;\sqrt{\frac{\left(\sqrt{e^{2 \cdot x}} + \sqrt{1}\right) \cdot \left(\left(e^{0.5 \cdot x} - \sqrt{\sqrt{1}}\right) \cdot \left(e^{0.5 \cdot x} + \sqrt{\sqrt{1}}\right)\right)}{\left(\sqrt{e^{x}} + \sqrt{1}\right) \cdot \left(\sqrt{e^{x}} - \sqrt{1}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{x}{\frac{\sqrt{2}}{x}} \cdot \left(0.25 - \frac{0.125}{2}\right) + \frac{0.5}{\frac{\sqrt{2}}{x}}\right) + \sqrt{2}\\
\end{array}double f(double x) {
double r2375920 = 2.0;
double r2375921 = x;
double r2375922 = r2375920 * r2375921;
double r2375923 = exp(r2375922);
double r2375924 = 1.0;
double r2375925 = r2375923 - r2375924;
double r2375926 = exp(r2375921);
double r2375927 = r2375926 - r2375924;
double r2375928 = r2375925 / r2375927;
double r2375929 = sqrt(r2375928);
return r2375929;
}
double f(double x) {
double r2375930 = x;
double r2375931 = -9.587317954112347e-14;
bool r2375932 = r2375930 <= r2375931;
double r2375933 = 2.0;
double r2375934 = r2375933 * r2375930;
double r2375935 = exp(r2375934);
double r2375936 = sqrt(r2375935);
double r2375937 = 1.0;
double r2375938 = sqrt(r2375937);
double r2375939 = r2375936 + r2375938;
double r2375940 = 0.5;
double r2375941 = r2375940 * r2375930;
double r2375942 = exp(r2375941);
double r2375943 = sqrt(r2375938);
double r2375944 = r2375942 - r2375943;
double r2375945 = r2375942 + r2375943;
double r2375946 = r2375944 * r2375945;
double r2375947 = r2375939 * r2375946;
double r2375948 = exp(r2375930);
double r2375949 = sqrt(r2375948);
double r2375950 = r2375949 + r2375938;
double r2375951 = r2375949 - r2375938;
double r2375952 = r2375950 * r2375951;
double r2375953 = r2375947 / r2375952;
double r2375954 = sqrt(r2375953);
double r2375955 = sqrt(r2375933);
double r2375956 = r2375955 / r2375930;
double r2375957 = r2375930 / r2375956;
double r2375958 = 0.25;
double r2375959 = 0.125;
double r2375960 = r2375959 / r2375933;
double r2375961 = r2375958 - r2375960;
double r2375962 = r2375957 * r2375961;
double r2375963 = r2375940 / r2375956;
double r2375964 = r2375962 + r2375963;
double r2375965 = r2375964 + r2375955;
double r2375966 = r2375932 ? r2375954 : r2375965;
return r2375966;
}



Bits error versus x
Results
if x < -9.587317954112347e-14Initial program 0.7
rmApplied add-sqr-sqrt0.7
Applied add-sqr-sqrt0.6
Applied difference-of-squares0.2
Applied associate-/l*0.2
rmApplied add-sqr-sqrt0.2
Applied sqrt-prod0.2
Applied add-sqr-sqrt0.2
Applied sqrt-prod0.5
Applied difference-of-squares0.7
Applied add-sqr-sqrt0.7
Applied add-sqr-sqrt0.6
Applied difference-of-squares0.1
Applied times-frac0.1
Taylor expanded around -inf 0.2
if -9.587317954112347e-14 < x Initial program 36.5
Taylor expanded around 0 7.5
Simplified7.5
Final simplification1.0
herbie shell --seed 2019192
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))