\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -2.961873043113816742734720904601380953025 \cdot 10^{-8}:\\
\;\;\;\;\sqrt{\frac{\left(\sqrt{1} + \sqrt{e^{2 \cdot x}}\right) \cdot \left(\sqrt{e^{2 \cdot x}} - \sqrt{1}\right)}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.5}{\frac{\sqrt{2}}{x}} + \left(\sqrt{2} + \left(0.25 - \frac{0.125}{2}\right) \cdot \frac{x \cdot x}{\sqrt{2}}\right)\\
\end{array}double f(double x) {
double r2152836 = 2.0;
double r2152837 = x;
double r2152838 = r2152836 * r2152837;
double r2152839 = exp(r2152838);
double r2152840 = 1.0;
double r2152841 = r2152839 - r2152840;
double r2152842 = exp(r2152837);
double r2152843 = r2152842 - r2152840;
double r2152844 = r2152841 / r2152843;
double r2152845 = sqrt(r2152844);
return r2152845;
}
double f(double x) {
double r2152846 = x;
double r2152847 = -2.9618730431138167e-08;
bool r2152848 = r2152846 <= r2152847;
double r2152849 = 1.0;
double r2152850 = sqrt(r2152849);
double r2152851 = 2.0;
double r2152852 = r2152851 * r2152846;
double r2152853 = exp(r2152852);
double r2152854 = sqrt(r2152853);
double r2152855 = r2152850 + r2152854;
double r2152856 = r2152854 - r2152850;
double r2152857 = r2152855 * r2152856;
double r2152858 = exp(r2152846);
double r2152859 = r2152858 - r2152849;
double r2152860 = r2152857 / r2152859;
double r2152861 = sqrt(r2152860);
double r2152862 = 0.5;
double r2152863 = sqrt(r2152851);
double r2152864 = r2152863 / r2152846;
double r2152865 = r2152862 / r2152864;
double r2152866 = 0.25;
double r2152867 = 0.125;
double r2152868 = r2152867 / r2152851;
double r2152869 = r2152866 - r2152868;
double r2152870 = r2152846 * r2152846;
double r2152871 = r2152870 / r2152863;
double r2152872 = r2152869 * r2152871;
double r2152873 = r2152863 + r2152872;
double r2152874 = r2152865 + r2152873;
double r2152875 = r2152848 ? r2152861 : r2152874;
return r2152875;
}



Bits error versus x
Results
if x < -2.9618730431138167e-08Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied add-sqr-sqrt0.2
Applied difference-of-squares0.0
if -2.9618730431138167e-08 < x Initial program 35.6
Taylor expanded around 0 6.0
Simplified6.0
Final simplification0.7
herbie shell --seed 2019171
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))