\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -2.367867422063156052558161035470618571708 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}} \cdot \sqrt{e^{x} + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{{x}^{2}}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right) + \left(\sqrt{2} + 0.5 \cdot \frac{x}{\sqrt{2}}\right)\\
\end{array}double f(double x) {
double r23268 = 2.0;
double r23269 = x;
double r23270 = r23268 * r23269;
double r23271 = exp(r23270);
double r23272 = 1.0;
double r23273 = r23271 - r23272;
double r23274 = exp(r23269);
double r23275 = r23274 - r23272;
double r23276 = r23273 / r23275;
double r23277 = sqrt(r23276);
return r23277;
}
double f(double x) {
double r23278 = x;
double r23279 = -2.367867422063156e-05;
bool r23280 = r23278 <= r23279;
double r23281 = 2.0;
double r23282 = r23281 * r23278;
double r23283 = exp(r23282);
double r23284 = 1.0;
double r23285 = r23283 - r23284;
double r23286 = r23278 + r23278;
double r23287 = exp(r23286);
double r23288 = r23284 * r23284;
double r23289 = r23287 - r23288;
double r23290 = r23285 / r23289;
double r23291 = sqrt(r23290);
double r23292 = exp(r23278);
double r23293 = r23292 + r23284;
double r23294 = sqrt(r23293);
double r23295 = r23291 * r23294;
double r23296 = 2.0;
double r23297 = pow(r23278, r23296);
double r23298 = sqrt(r23281);
double r23299 = r23297 / r23298;
double r23300 = 0.25;
double r23301 = 0.125;
double r23302 = r23301 / r23281;
double r23303 = r23300 - r23302;
double r23304 = r23299 * r23303;
double r23305 = 0.5;
double r23306 = r23278 / r23298;
double r23307 = r23305 * r23306;
double r23308 = r23298 + r23307;
double r23309 = r23304 + r23308;
double r23310 = r23280 ? r23295 : r23309;
return r23310;
}



Bits error versus x
Results
if x < -2.367867422063156e-05Initial program 0.1
rmApplied flip--0.0
Applied associate-/r/0.0
Applied sqrt-prod0.0
Simplified0.0
if -2.367867422063156e-05 < x Initial program 34.6
Taylor expanded around 0 5.7
Simplified5.6
Final simplification0.7
herbie shell --seed 2019326
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))