\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -2.5679454952614643 \cdot 10^{-15}:\\
\;\;\;\;\sqrt{\frac{\sqrt[3]{{\left(e^{2 \cdot x} - 1\right)}^{3}}}{e^{x + x} - 1 \cdot 1}} \cdot \mathsf{hypot}\left(\sqrt{e^{x}}, \sqrt{1}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(0.5, \frac{x}{\sqrt{2}}, \sqrt{2}\right) - 0.125 \cdot \frac{{x}^{2}}{{\left(\sqrt{2}\right)}^{3}}\right)\\
\end{array}double f(double x) {
double r18390 = 2.0;
double r18391 = x;
double r18392 = r18390 * r18391;
double r18393 = exp(r18392);
double r18394 = 1.0;
double r18395 = r18393 - r18394;
double r18396 = exp(r18391);
double r18397 = r18396 - r18394;
double r18398 = r18395 / r18397;
double r18399 = sqrt(r18398);
return r18399;
}
double f(double x) {
double r18400 = x;
double r18401 = -2.5679454952614643e-15;
bool r18402 = r18400 <= r18401;
double r18403 = 2.0;
double r18404 = r18403 * r18400;
double r18405 = exp(r18404);
double r18406 = 1.0;
double r18407 = r18405 - r18406;
double r18408 = 3.0;
double r18409 = pow(r18407, r18408);
double r18410 = cbrt(r18409);
double r18411 = r18400 + r18400;
double r18412 = exp(r18411);
double r18413 = r18406 * r18406;
double r18414 = r18412 - r18413;
double r18415 = r18410 / r18414;
double r18416 = sqrt(r18415);
double r18417 = exp(r18400);
double r18418 = sqrt(r18417);
double r18419 = sqrt(r18406);
double r18420 = hypot(r18418, r18419);
double r18421 = r18416 * r18420;
double r18422 = 0.25;
double r18423 = 2.0;
double r18424 = pow(r18400, r18423);
double r18425 = sqrt(r18403);
double r18426 = r18424 / r18425;
double r18427 = 0.5;
double r18428 = r18400 / r18425;
double r18429 = fma(r18427, r18428, r18425);
double r18430 = 0.125;
double r18431 = pow(r18425, r18408);
double r18432 = r18424 / r18431;
double r18433 = r18430 * r18432;
double r18434 = r18429 - r18433;
double r18435 = fma(r18422, r18426, r18434);
double r18436 = r18402 ? r18421 : r18435;
return r18436;
}



Bits error versus x
if x < -2.5679454952614643e-15Initial program 0.7
rmApplied flip--0.4
Applied associate-/r/0.4
Applied sqrt-prod0.4
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.0
Applied hypot-def0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
if -2.5679454952614643e-15 < x Initial program 38.5
Taylor expanded around 0 7.4
Simplified7.4
Final simplification0.7
herbie shell --seed 2020045 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))