\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.293819911268271 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}} \cdot \sqrt{e^{x} + 1}\\
\mathbf{elif}\;x \le 8.4060694836567375 \cdot 10^{-9}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(0.5, {x}^{2}, \mathsf{fma}\left(1, x, 2\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}} \cdot \sqrt{\mathsf{fma}\left(\sqrt[3]{e^{x}} \cdot \sqrt[3]{e^{x}}, \sqrt[3]{e^{x}}, 1\right)}\\
\end{array}double f(double x) {
double r12364 = 2.0;
double r12365 = x;
double r12366 = r12364 * r12365;
double r12367 = exp(r12366);
double r12368 = 1.0;
double r12369 = r12367 - r12368;
double r12370 = exp(r12365);
double r12371 = r12370 - r12368;
double r12372 = r12369 / r12371;
double r12373 = sqrt(r12372);
return r12373;
}
double f(double x) {
double r12374 = x;
double r12375 = -1.2938199112682712e-05;
bool r12376 = r12374 <= r12375;
double r12377 = 2.0;
double r12378 = r12377 * r12374;
double r12379 = exp(r12378);
double r12380 = 1.0;
double r12381 = r12379 - r12380;
double r12382 = r12374 + r12374;
double r12383 = exp(r12382);
double r12384 = r12380 * r12380;
double r12385 = r12383 - r12384;
double r12386 = r12381 / r12385;
double r12387 = sqrt(r12386);
double r12388 = exp(r12374);
double r12389 = r12388 + r12380;
double r12390 = sqrt(r12389);
double r12391 = r12387 * r12390;
double r12392 = 8.406069483656737e-09;
bool r12393 = r12374 <= r12392;
double r12394 = 0.5;
double r12395 = 2.0;
double r12396 = pow(r12374, r12395);
double r12397 = fma(r12380, r12374, r12377);
double r12398 = fma(r12394, r12396, r12397);
double r12399 = sqrt(r12398);
double r12400 = cbrt(r12388);
double r12401 = r12400 * r12400;
double r12402 = fma(r12401, r12400, r12380);
double r12403 = sqrt(r12402);
double r12404 = r12387 * r12403;
double r12405 = r12393 ? r12399 : r12404;
double r12406 = r12376 ? r12391 : r12405;
return r12406;
}



Bits error versus x
if x < -1.2938199112682712e-05Initial program 0.1
rmApplied flip--0.1
Applied associate-/r/0.1
Applied sqrt-prod0.1
Simplified0.0
if -1.2938199112682712e-05 < x < 8.406069483656737e-09Initial program 42.0
Taylor expanded around 0 0.1
Simplified0.1
if 8.406069483656737e-09 < x Initial program 11.3
rmApplied flip--8.2
Applied associate-/r/8.2
Applied sqrt-prod8.2
Simplified3.8
rmApplied add-cube-cbrt4.2
Applied fma-def4.2
Final simplification0.1
herbie shell --seed 2020043 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))