\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -8.403797957856243383586276017582772368542 \cdot 10^{-7}:\\
\;\;\;\;\sqrt{\frac{\sqrt{e^{2 \cdot x}} + \sqrt{1}}{1}} \cdot \sqrt{\frac{\sqrt{e^{2 \cdot x}} - \sqrt{1}}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \frac{x}{\sqrt{2}} + \left(\sqrt{2} + e^{\log \left(\frac{{x}^{2}}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right)}\right)\\
\end{array}double f(double x) {
double r18478 = 2.0;
double r18479 = x;
double r18480 = r18478 * r18479;
double r18481 = exp(r18480);
double r18482 = 1.0;
double r18483 = r18481 - r18482;
double r18484 = exp(r18479);
double r18485 = r18484 - r18482;
double r18486 = r18483 / r18485;
double r18487 = sqrt(r18486);
return r18487;
}
double f(double x) {
double r18488 = x;
double r18489 = -8.403797957856243e-07;
bool r18490 = r18488 <= r18489;
double r18491 = 2.0;
double r18492 = r18491 * r18488;
double r18493 = exp(r18492);
double r18494 = sqrt(r18493);
double r18495 = 1.0;
double r18496 = sqrt(r18495);
double r18497 = r18494 + r18496;
double r18498 = 1.0;
double r18499 = r18497 / r18498;
double r18500 = sqrt(r18499);
double r18501 = r18494 - r18496;
double r18502 = exp(r18488);
double r18503 = r18502 - r18495;
double r18504 = r18501 / r18503;
double r18505 = sqrt(r18504);
double r18506 = r18500 * r18505;
double r18507 = 0.5;
double r18508 = sqrt(r18491);
double r18509 = r18488 / r18508;
double r18510 = r18507 * r18509;
double r18511 = 2.0;
double r18512 = pow(r18488, r18511);
double r18513 = r18512 / r18508;
double r18514 = 0.25;
double r18515 = 0.125;
double r18516 = r18515 / r18491;
double r18517 = r18514 - r18516;
double r18518 = r18513 * r18517;
double r18519 = log(r18518);
double r18520 = exp(r18519);
double r18521 = r18508 + r18520;
double r18522 = r18510 + r18521;
double r18523 = r18490 ? r18506 : r18522;
return r18523;
}



Bits error versus x
Results
if x < -8.403797957856243e-07Initial 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
if -8.403797957856243e-07 < x Initial program 35.2
Taylor expanded around 0 6.9
Simplified6.9
rmApplied add-exp-log6.9
Applied add-exp-log6.9
Applied add-exp-log31.5
Applied pow-exp31.5
Applied div-exp31.5
Applied prod-exp31.5
Simplified6.9
Final simplification0.9
herbie shell --seed 2020001
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))