\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -2.92771544845405032 \cdot 10^{-8}:\\
\;\;\;\;\sqrt{\frac{\sqrt{e^{2 \cdot x}} + \sqrt{1}}{1}} \cdot \sqrt{\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 r17090 = 2.0;
double r17091 = x;
double r17092 = r17090 * r17091;
double r17093 = exp(r17092);
double r17094 = 1.0;
double r17095 = r17093 - r17094;
double r17096 = exp(r17091);
double r17097 = r17096 - r17094;
double r17098 = r17095 / r17097;
double r17099 = sqrt(r17098);
return r17099;
}
double f(double x) {
double r17100 = x;
double r17101 = -2.9277154484540503e-08;
bool r17102 = r17100 <= r17101;
double r17103 = 2.0;
double r17104 = r17103 * r17100;
double r17105 = exp(r17104);
double r17106 = sqrt(r17105);
double r17107 = 1.0;
double r17108 = sqrt(r17107);
double r17109 = r17106 + r17108;
double r17110 = 1.0;
double r17111 = r17109 / r17110;
double r17112 = sqrt(r17111);
double r17113 = r17106 - r17108;
double r17114 = exp(r17100);
double r17115 = r17114 - r17107;
double r17116 = r17113 / r17115;
double r17117 = sqrt(r17116);
double r17118 = r17112 * r17117;
double r17119 = 0.5;
double r17120 = sqrt(r17103);
double r17121 = r17100 / r17120;
double r17122 = r17119 * r17121;
double r17123 = 2.0;
double r17124 = pow(r17100, r17123);
double r17125 = r17124 / r17120;
double r17126 = 0.25;
double r17127 = 0.125;
double r17128 = r17127 / r17103;
double r17129 = r17126 - r17128;
double r17130 = r17125 * r17129;
double r17131 = r17120 + r17130;
double r17132 = r17122 + r17131;
double r17133 = r17102 ? r17118 : r17132;
return r17133;
}



Bits error versus x
Results
if x < -2.9277154484540503e-08Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied add-sqr-sqrt0.2
Applied add-sqr-sqrt0.2
Applied difference-of-squares0.0
Applied times-frac0.0
Applied sqrt-prod0.0
if -2.9277154484540503e-08 < x Initial program 34.5
Taylor expanded around 0 7.0
Simplified7.0
Final simplification0.8
herbie shell --seed 2020059
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))