\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -4.013702749797138520368410019867925313981 \cdot 10^{-17}:\\
\;\;\;\;\sqrt{\frac{\sqrt[3]{{\left(e^{2 \cdot x} - 1\right)}^{3}}}{\frac{e^{x + x} - 1 \cdot 1}{1 + e^{x}}}}\\
\mathbf{elif}\;x \le 5.535044263275191921405584805585021641155 \cdot 10^{-17}:\\
\;\;\;\;\frac{{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{2}}{\sqrt{\sqrt{2}}} \cdot \left(\frac{{\left(\sqrt[3]{x}\right)}^{2}}{\sqrt{\sqrt{2}}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right) + \left(\sqrt{2} + 0.5 \cdot \frac{x}{\sqrt{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{\frac{e^{x + x} - 1 \cdot 1}{1 + e^{x}}}}\\
\end{array}double f(double x) {
double r27123 = 2.0;
double r27124 = x;
double r27125 = r27123 * r27124;
double r27126 = exp(r27125);
double r27127 = 1.0;
double r27128 = r27126 - r27127;
double r27129 = exp(r27124);
double r27130 = r27129 - r27127;
double r27131 = r27128 / r27130;
double r27132 = sqrt(r27131);
return r27132;
}
double f(double x) {
double r27133 = x;
double r27134 = -4.0137027497971385e-17;
bool r27135 = r27133 <= r27134;
double r27136 = 2.0;
double r27137 = r27136 * r27133;
double r27138 = exp(r27137);
double r27139 = 1.0;
double r27140 = r27138 - r27139;
double r27141 = 3.0;
double r27142 = pow(r27140, r27141);
double r27143 = cbrt(r27142);
double r27144 = r27133 + r27133;
double r27145 = exp(r27144);
double r27146 = r27139 * r27139;
double r27147 = r27145 - r27146;
double r27148 = exp(r27133);
double r27149 = r27139 + r27148;
double r27150 = r27147 / r27149;
double r27151 = r27143 / r27150;
double r27152 = sqrt(r27151);
double r27153 = 5.535044263275192e-17;
bool r27154 = r27133 <= r27153;
double r27155 = cbrt(r27133);
double r27156 = r27155 * r27155;
double r27157 = 2.0;
double r27158 = pow(r27156, r27157);
double r27159 = sqrt(r27136);
double r27160 = sqrt(r27159);
double r27161 = r27158 / r27160;
double r27162 = pow(r27155, r27157);
double r27163 = r27162 / r27160;
double r27164 = 0.25;
double r27165 = 0.125;
double r27166 = r27165 / r27136;
double r27167 = r27164 - r27166;
double r27168 = r27163 * r27167;
double r27169 = r27161 * r27168;
double r27170 = 0.5;
double r27171 = r27133 / r27159;
double r27172 = r27170 * r27171;
double r27173 = r27159 + r27172;
double r27174 = r27169 + r27173;
double r27175 = r27140 / r27150;
double r27176 = sqrt(r27175);
double r27177 = r27154 ? r27174 : r27176;
double r27178 = r27135 ? r27152 : r27177;
return r27178;
}



Bits error versus x
Results
if x < -4.0137027497971385e-17Initial program 0.9
rmApplied flip--0.7
Simplified0.0
Simplified0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
if -4.0137027497971385e-17 < x < 5.535044263275192e-17Initial program 64.0
Taylor expanded around 0 0
Simplified0
rmApplied add-sqr-sqrt0
Applied sqrt-prod0
Applied add-cube-cbrt0
Applied unpow-prod-down0
Applied times-frac0
Applied associate-*l*0
if 5.535044263275192e-17 < x Initial program 17.2
rmApplied flip--13.1
Simplified1.7
Simplified1.7
Final simplification0.1
herbie shell --seed 2019322
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))