\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -1.293819911268271 \cdot 10^{-5} \lor \neg \left(x \le 1.1457866946809401 \cdot 10^{-14}\right):\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{\frac{e^{x + x} - 1 \cdot 1}{e^{x} + 1}}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{0.5 \cdot {x}^{2} + \left(1 \cdot x + 2\right)}\\
\end{array}double f(double x) {
double r13282 = 2.0;
double r13283 = x;
double r13284 = r13282 * r13283;
double r13285 = exp(r13284);
double r13286 = 1.0;
double r13287 = r13285 - r13286;
double r13288 = exp(r13283);
double r13289 = r13288 - r13286;
double r13290 = r13287 / r13289;
double r13291 = sqrt(r13290);
return r13291;
}
double f(double x) {
double r13292 = x;
double r13293 = -1.2938199112682712e-05;
bool r13294 = r13292 <= r13293;
double r13295 = 1.1457866946809401e-14;
bool r13296 = r13292 <= r13295;
double r13297 = !r13296;
bool r13298 = r13294 || r13297;
double r13299 = 2.0;
double r13300 = r13299 * r13292;
double r13301 = exp(r13300);
double r13302 = 1.0;
double r13303 = r13301 - r13302;
double r13304 = r13292 + r13292;
double r13305 = exp(r13304);
double r13306 = r13302 * r13302;
double r13307 = r13305 - r13306;
double r13308 = exp(r13292);
double r13309 = r13308 + r13302;
double r13310 = r13307 / r13309;
double r13311 = r13303 / r13310;
double r13312 = sqrt(r13311);
double r13313 = 0.5;
double r13314 = 2.0;
double r13315 = pow(r13292, r13314);
double r13316 = r13313 * r13315;
double r13317 = r13302 * r13292;
double r13318 = r13317 + r13299;
double r13319 = r13316 + r13318;
double r13320 = sqrt(r13319);
double r13321 = r13298 ? r13312 : r13320;
return r13321;
}



Bits error versus x
Results
if x < -1.2938199112682712e-05 or 1.1457866946809401e-14 < x Initial program 0.9
rmApplied flip--0.6
Simplified0.1
if -1.2938199112682712e-05 < x < 1.1457866946809401e-14Initial program 45.9
rmApplied flip--43.6
Simplified34.5
Taylor expanded around 0 0.1
Final simplification0.1
herbie shell --seed 2020043
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))