\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -3.0314812521352058 \cdot 10^{-11}:\\
\;\;\;\;\sqrt{\frac{\left(e^{x} + 1\right) \cdot \left(e^{2 \cdot x} - 1\right)}{e^{2 \cdot x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 + x \cdot \left(0.5 \cdot x + 1\right)}\\
\end{array}double f(double x) {
double r21106 = 2.0;
double r21107 = x;
double r21108 = r21106 * r21107;
double r21109 = exp(r21108);
double r21110 = 1.0;
double r21111 = r21109 - r21110;
double r21112 = exp(r21107);
double r21113 = r21112 - r21110;
double r21114 = r21111 / r21113;
double r21115 = sqrt(r21114);
return r21115;
}
double f(double x) {
double r21116 = x;
double r21117 = -3.031481252135206e-11;
bool r21118 = r21116 <= r21117;
double r21119 = exp(r21116);
double r21120 = 1.0;
double r21121 = r21119 + r21120;
double r21122 = 2.0;
double r21123 = r21122 * r21116;
double r21124 = exp(r21123);
double r21125 = r21124 - r21120;
double r21126 = r21121 * r21125;
double r21127 = 2.0;
double r21128 = r21127 * r21116;
double r21129 = exp(r21128);
double r21130 = r21129 - r21120;
double r21131 = r21126 / r21130;
double r21132 = sqrt(r21131);
double r21133 = 0.5;
double r21134 = r21133 * r21116;
double r21135 = r21134 + r21120;
double r21136 = r21116 * r21135;
double r21137 = r21122 + r21136;
double r21138 = sqrt(r21137);
double r21139 = r21118 ? r21132 : r21138;
return r21139;
}



Bits error versus x
Results
if x < -3.031481252135206e-11Initial program 0.5
rmApplied flip--0.3
Applied associate-/r/0.3
Simplified0.0
Taylor expanded around inf 0.0
if -3.031481252135206e-11 < x Initial program 37.1
Taylor expanded around 0 6.6
Simplified6.6
Final simplification0.7
herbie shell --seed 2019198
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
(sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))