\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -6.9771617419782324 \cdot 10^{-16}:\\
\;\;\;\;\sqrt{\frac{\left(\sqrt{e^{2 \cdot x}} + \sqrt{1}\right) \cdot \left({\left(e^{2}\right)}^{\left(\frac{x}{2}\right)} - \sqrt{1}\right)}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \frac{x}{\sqrt{2}} + \left(\sqrt{2} + \frac{{x}^{2}}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right)\\
\end{array}double f(double x) {
double r15390 = 2.0;
double r15391 = x;
double r15392 = r15390 * r15391;
double r15393 = exp(r15392);
double r15394 = 1.0;
double r15395 = r15393 - r15394;
double r15396 = exp(r15391);
double r15397 = r15396 - r15394;
double r15398 = r15395 / r15397;
double r15399 = sqrt(r15398);
return r15399;
}
double f(double x) {
double r15400 = x;
double r15401 = -6.977161741978232e-16;
bool r15402 = r15400 <= r15401;
double r15403 = 2.0;
double r15404 = r15403 * r15400;
double r15405 = exp(r15404);
double r15406 = sqrt(r15405);
double r15407 = 1.0;
double r15408 = sqrt(r15407);
double r15409 = r15406 + r15408;
double r15410 = exp(r15403);
double r15411 = 2.0;
double r15412 = r15400 / r15411;
double r15413 = pow(r15410, r15412);
double r15414 = r15413 - r15408;
double r15415 = r15409 * r15414;
double r15416 = exp(r15400);
double r15417 = r15416 - r15407;
double r15418 = r15415 / r15417;
double r15419 = sqrt(r15418);
double r15420 = 0.5;
double r15421 = sqrt(r15403);
double r15422 = r15400 / r15421;
double r15423 = r15420 * r15422;
double r15424 = pow(r15400, r15411);
double r15425 = r15424 / r15421;
double r15426 = 0.25;
double r15427 = 0.125;
double r15428 = r15427 / r15403;
double r15429 = r15426 - r15428;
double r15430 = r15425 * r15429;
double r15431 = r15421 + r15430;
double r15432 = r15423 + r15431;
double r15433 = r15402 ? r15419 : r15432;
return r15433;
}



Bits error versus x
Results
if x < -6.977161741978232e-16Initial program 0.8
rmApplied add-sqr-sqrt0.8
Applied add-sqr-sqrt0.7
Applied difference-of-squares0.2
rmApplied add-log-exp0.2
Applied exp-to-pow0.2
Applied sqrt-pow10.0
if -6.977161741978232e-16 < x Initial program 36.4
Taylor expanded around 0 7.9
Simplified7.9
Final simplification0.8
herbie shell --seed 2020018
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))