\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({\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} \cdot {\left(e^{2}\right)}^{\left(\frac{x}{2}\right)}\right) \cdot {\left(e^{2}\right)}^{\left(\frac{x}{2}\right)}}} \cdot \sqrt{\frac{{\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} - \sqrt{1}}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2} + \left(0.5 \cdot \frac{x}{\sqrt{2}} + \frac{x \cdot x}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right)\\
\end{array}double f(double x) {
double r1330462 = 2.0;
double r1330463 = x;
double r1330464 = r1330462 * r1330463;
double r1330465 = exp(r1330464);
double r1330466 = 1.0;
double r1330467 = r1330465 - r1330466;
double r1330468 = exp(r1330463);
double r1330469 = r1330468 - r1330466;
double r1330470 = r1330467 / r1330469;
double r1330471 = sqrt(r1330470);
return r1330471;
}
double f(double x) {
double r1330472 = x;
double r1330473 = -6.780812387076979e-12;
bool r1330474 = r1330472 <= r1330473;
double r1330475 = 1.0;
double r1330476 = sqrt(r1330475);
double r1330477 = 2.0;
double r1330478 = exp(r1330477);
double r1330479 = 2.0;
double r1330480 = r1330472 / r1330479;
double r1330481 = pow(r1330478, r1330480);
double r1330482 = r1330481 * r1330481;
double r1330483 = r1330482 * r1330481;
double r1330484 = cbrt(r1330483);
double r1330485 = r1330476 + r1330484;
double r1330486 = sqrt(r1330485);
double r1330487 = r1330481 - r1330476;
double r1330488 = exp(r1330472);
double r1330489 = r1330488 - r1330475;
double r1330490 = r1330487 / r1330489;
double r1330491 = sqrt(r1330490);
double r1330492 = r1330486 * r1330491;
double r1330493 = sqrt(r1330477);
double r1330494 = 0.5;
double r1330495 = r1330472 / r1330493;
double r1330496 = r1330494 * r1330495;
double r1330497 = r1330472 * r1330472;
double r1330498 = r1330497 / r1330493;
double r1330499 = 0.25;
double r1330500 = 0.125;
double r1330501 = r1330500 / r1330477;
double r1330502 = r1330499 - r1330501;
double r1330503 = r1330498 * r1330502;
double r1330504 = r1330496 + r1330503;
double r1330505 = r1330493 + r1330504;
double r1330506 = r1330474 ? r1330492 : r1330505;
return r1330506;
}



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
Simplified0.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))))