\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -4.7552481292438652 \cdot 10^{-11}:\\
\;\;\;\;\sqrt{\left(\sqrt{e^{2 \cdot x}} + \sqrt{1}\right) \cdot \frac{\sqrt{e^{2 \cdot x}} - \sqrt{1}}{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 r14538 = 2.0;
double r14539 = x;
double r14540 = r14538 * r14539;
double r14541 = exp(r14540);
double r14542 = 1.0;
double r14543 = r14541 - r14542;
double r14544 = exp(r14539);
double r14545 = r14544 - r14542;
double r14546 = r14543 / r14545;
double r14547 = sqrt(r14546);
return r14547;
}
double f(double x) {
double r14548 = x;
double r14549 = -4.755248129243865e-11;
bool r14550 = r14548 <= r14549;
double r14551 = 2.0;
double r14552 = r14551 * r14548;
double r14553 = exp(r14552);
double r14554 = sqrt(r14553);
double r14555 = 1.0;
double r14556 = sqrt(r14555);
double r14557 = r14554 + r14556;
double r14558 = r14554 - r14556;
double r14559 = exp(r14548);
double r14560 = r14559 - r14555;
double r14561 = r14558 / r14560;
double r14562 = r14557 * r14561;
double r14563 = sqrt(r14562);
double r14564 = 0.5;
double r14565 = sqrt(r14551);
double r14566 = r14548 / r14565;
double r14567 = r14564 * r14566;
double r14568 = 2.0;
double r14569 = pow(r14548, r14568);
double r14570 = r14569 / r14565;
double r14571 = 0.25;
double r14572 = 0.125;
double r14573 = r14572 / r14551;
double r14574 = r14571 - r14573;
double r14575 = r14570 * r14574;
double r14576 = r14565 + r14575;
double r14577 = r14567 + r14576;
double r14578 = r14550 ? r14563 : r14577;
return r14578;
}



Bits error versus x
Results
if x < -4.755248129243865e-11Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied add-sqr-sqrt0.5
Applied add-sqr-sqrt0.4
Applied difference-of-squares0.1
Applied times-frac0.1
Simplified0.1
if -4.755248129243865e-11 < x Initial program 36.3
Taylor expanded around 0 7.0
Simplified6.9
Final simplification0.9
herbie shell --seed 2020025
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))