\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -6.780812387076979337394696627937232713719 \cdot 10^{-12}:\\
\;\;\;\;\sqrt{\sqrt{1} + \sqrt[3]{{\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} \cdot \left({\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} \cdot {\left(e^{2}\right)}^{\left(\frac{x}{2}\right)}\right)}} \cdot \sqrt{\frac{{\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} - \sqrt{1}}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{x}{\sqrt{2}} \cdot 0.5 + \frac{x}{\frac{\sqrt{2}}{x}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right) + \sqrt{2}\\
\end{array}double f(double x) {
double r1057352 = 2.0;
double r1057353 = x;
double r1057354 = r1057352 * r1057353;
double r1057355 = exp(r1057354);
double r1057356 = 1.0;
double r1057357 = r1057355 - r1057356;
double r1057358 = exp(r1057353);
double r1057359 = r1057358 - r1057356;
double r1057360 = r1057357 / r1057359;
double r1057361 = sqrt(r1057360);
return r1057361;
}
double f(double x) {
double r1057362 = x;
double r1057363 = -6.780812387076979e-12;
bool r1057364 = r1057362 <= r1057363;
double r1057365 = 1.0;
double r1057366 = sqrt(r1057365);
double r1057367 = 2.0;
double r1057368 = exp(r1057367);
double r1057369 = 2.0;
double r1057370 = r1057362 / r1057369;
double r1057371 = pow(r1057368, r1057370);
double r1057372 = r1057371 * r1057371;
double r1057373 = r1057371 * r1057372;
double r1057374 = cbrt(r1057373);
double r1057375 = r1057366 + r1057374;
double r1057376 = sqrt(r1057375);
double r1057377 = r1057371 - r1057366;
double r1057378 = exp(r1057362);
double r1057379 = r1057378 - r1057365;
double r1057380 = r1057377 / r1057379;
double r1057381 = sqrt(r1057380);
double r1057382 = r1057376 * r1057381;
double r1057383 = sqrt(r1057367);
double r1057384 = r1057362 / r1057383;
double r1057385 = 0.5;
double r1057386 = r1057384 * r1057385;
double r1057387 = r1057383 / r1057362;
double r1057388 = r1057362 / r1057387;
double r1057389 = 0.25;
double r1057390 = 0.125;
double r1057391 = r1057390 / r1057367;
double r1057392 = r1057389 - r1057391;
double r1057393 = r1057388 * r1057392;
double r1057394 = r1057386 + r1057393;
double r1057395 = r1057394 + r1057383;
double r1057396 = r1057364 ? r1057382 : r1057395;
return r1057396;
}



Bits error versus x
Results
if x < -6.780812387076979e-12Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied add-sqr-sqrt0.5
Applied add-sqr-sqrt0.4
Applied difference-of-squares0.1
Applied times-frac0.1
Applied sqrt-prod0.1
rmApplied add-log-exp0.1
Applied exp-to-pow0.1
Applied sqrt-pow10.0
rmApplied add-log-exp0.0
Applied exp-to-pow0.0
Applied sqrt-pow10.0
rmApplied add-cbrt-cube0.0
if -6.780812387076979e-12 < x Initial program 36.3
Taylor expanded around 0 6.8
Simplified6.8
Final simplification0.8
herbie shell --seed 2019174
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))