\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.15639988716910344 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{\frac{\left({\left(\sqrt{e^{2 \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{2 \cdot x}} - \sqrt{1}\right)}{\sqrt{e^{2 \cdot x}} \cdot \sqrt{e^{2 \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{2 \cdot x}} \cdot \sqrt{1}\right)}}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{x \cdot \left(1 + 0.5 \cdot x\right) + 2}\\
\end{array}double f(double x) {
double r15534 = 2.0;
double r15535 = x;
double r15536 = r15534 * r15535;
double r15537 = exp(r15536);
double r15538 = 1.0;
double r15539 = r15537 - r15538;
double r15540 = exp(r15535);
double r15541 = r15540 - r15538;
double r15542 = r15539 / r15541;
double r15543 = sqrt(r15542);
return r15543;
}
double f(double x) {
double r15544 = x;
double r15545 = -1.1563998871691034e-05;
bool r15546 = r15544 <= r15545;
double r15547 = 2.0;
double r15548 = r15547 * r15544;
double r15549 = exp(r15548);
double r15550 = sqrt(r15549);
double r15551 = 3.0;
double r15552 = pow(r15550, r15551);
double r15553 = 1.0;
double r15554 = sqrt(r15553);
double r15555 = pow(r15554, r15551);
double r15556 = r15552 + r15555;
double r15557 = r15550 - r15554;
double r15558 = r15556 * r15557;
double r15559 = r15550 * r15550;
double r15560 = r15554 * r15554;
double r15561 = r15550 * r15554;
double r15562 = r15560 - r15561;
double r15563 = r15559 + r15562;
double r15564 = r15558 / r15563;
double r15565 = exp(r15544);
double r15566 = r15565 - r15553;
double r15567 = r15564 / r15566;
double r15568 = sqrt(r15567);
double r15569 = 0.5;
double r15570 = r15569 * r15544;
double r15571 = r15553 + r15570;
double r15572 = r15544 * r15571;
double r15573 = r15572 + r15547;
double r15574 = sqrt(r15573);
double r15575 = r15546 ? r15568 : r15574;
return r15575;
}



Bits error versus x
Results
if x < -1.1563998871691034e-05Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.0
rmApplied flip3-+0.0
Applied associate-*l/0.0
if -1.1563998871691034e-05 < x Initial program 34.9
Taylor expanded around 0 6.4
Simplified6.4
Final simplification0.8
herbie shell --seed 2020036
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))