\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le \frac{-151177675305233}{9223372036854775808}:\\
\;\;\;\;\sqrt{\frac{\sqrt{\sqrt{e^{2 \cdot x}}} \cdot \sqrt{\sqrt{e^{2 \cdot x}}} + \sqrt{1}}{1}} \cdot \sqrt{\frac{\sqrt{e^{2 \cdot x}} - \sqrt{1}}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{x \cdot \left(1 + \frac{1}{2} \cdot x\right) + 2}\\
\end{array}double f(double x) {
double r19427 = 2.0;
double r19428 = x;
double r19429 = r19427 * r19428;
double r19430 = exp(r19429);
double r19431 = 1.0;
double r19432 = r19430 - r19431;
double r19433 = exp(r19428);
double r19434 = r19433 - r19431;
double r19435 = r19432 / r19434;
double r19436 = sqrt(r19435);
return r19436;
}
double f(double x) {
double r19437 = x;
double r19438 = -151177675305233.0;
double r19439 = 9.223372036854776e+18;
double r19440 = r19438 / r19439;
bool r19441 = r19437 <= r19440;
double r19442 = 2.0;
double r19443 = r19442 * r19437;
double r19444 = exp(r19443);
double r19445 = sqrt(r19444);
double r19446 = sqrt(r19445);
double r19447 = r19446 * r19446;
double r19448 = 1.0;
double r19449 = sqrt(r19448);
double r19450 = r19447 + r19449;
double r19451 = 1.0;
double r19452 = r19450 / r19451;
double r19453 = sqrt(r19452);
double r19454 = r19445 - r19449;
double r19455 = exp(r19437);
double r19456 = r19455 - r19448;
double r19457 = r19454 / r19456;
double r19458 = sqrt(r19457);
double r19459 = r19453 * r19458;
double r19460 = r19448 / r19442;
double r19461 = r19460 * r19437;
double r19462 = r19448 + r19461;
double r19463 = r19437 * r19462;
double r19464 = r19463 + r19442;
double r19465 = sqrt(r19464);
double r19466 = r19441 ? r19459 : r19465;
return r19466;
}



Bits error versus x
Results
if x < -1.639071639972418e-05Initial program 0.1
rmApplied *-un-lft-identity0.1
Applied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.0
Applied times-frac0.0
Applied sqrt-prod0.0
rmApplied add-sqr-sqrt0.0
Applied sqrt-prod0.0
if -1.639071639972418e-05 < x Initial program 35.0
Taylor expanded around 0 6.0
Simplified6.0
Final simplification0.8
herbie shell --seed 350497007
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))