\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -7.19520557993145058 \cdot 10^{-16}:\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{\frac{\mathsf{fma}\left(-1, 1, e^{x + x}\right)}{e^{x} + 1}}}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \frac{x}{\sqrt{2}} + e^{e^{\log \left(\log \left(\sqrt{2} + \frac{{x}^{2}}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right)\right)}}\\
\end{array}double code(double x) {
return sqrt(((exp((2.0 * x)) - 1.0) / (exp(x) - 1.0)));
}
double code(double x) {
double temp;
if ((x <= -7.195205579931451e-16)) {
temp = sqrt(((exp((2.0 * x)) - 1.0) / (fma(-1.0, 1.0, exp((x + x))) / (exp(x) + 1.0))));
} else {
temp = ((0.5 * (x / sqrt(2.0))) + exp(exp(log(log((sqrt(2.0) + ((pow(x, 2.0) / sqrt(2.0)) * (0.25 - (0.125 / 2.0)))))))));
}
return temp;
}



Bits error versus x
Results
if x < -7.195205579931451e-16Initial program 0.7
rmApplied flip--0.5
Simplified0.0
if -7.195205579931451e-16 < x Initial program 37.5
Taylor expanded around 0 8.9
Simplified8.9
rmApplied add-exp-log8.9
rmApplied add-exp-log8.9
Final simplification0.9
herbie shell --seed 2020060 +o rules:numerics
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))