\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -5.5556517639115665 \cdot 10^{-17}:\\
\;\;\;\;\sqrt{\frac{\sqrt{\sqrt{e^{2 \cdot x}}} \cdot \sqrt{\sqrt{e^{2 \cdot x}}} + \sqrt{1}}{1}} \cdot \sqrt{\frac{{\left(e^{2}\right)}^{\left(\frac{1}{2} \cdot x\right)} - \sqrt{1}}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{x \cdot \left(1 + 0.5 \cdot x\right) + 2}\\
\end{array}double f(double x) {
double r11825 = 2.0;
double r11826 = x;
double r11827 = r11825 * r11826;
double r11828 = exp(r11827);
double r11829 = 1.0;
double r11830 = r11828 - r11829;
double r11831 = exp(r11826);
double r11832 = r11831 - r11829;
double r11833 = r11830 / r11832;
double r11834 = sqrt(r11833);
return r11834;
}
double f(double x) {
double r11835 = x;
double r11836 = -5.555651763911567e-17;
bool r11837 = r11835 <= r11836;
double r11838 = 2.0;
double r11839 = r11838 * r11835;
double r11840 = exp(r11839);
double r11841 = sqrt(r11840);
double r11842 = sqrt(r11841);
double r11843 = r11842 * r11842;
double r11844 = 1.0;
double r11845 = sqrt(r11844);
double r11846 = r11843 + r11845;
double r11847 = 1.0;
double r11848 = r11846 / r11847;
double r11849 = sqrt(r11848);
double r11850 = exp(r11838);
double r11851 = 0.5;
double r11852 = r11851 * r11835;
double r11853 = pow(r11850, r11852);
double r11854 = r11853 - r11845;
double r11855 = exp(r11835);
double r11856 = r11855 - r11844;
double r11857 = r11854 / r11856;
double r11858 = sqrt(r11857);
double r11859 = r11849 * r11858;
double r11860 = 0.5;
double r11861 = r11860 * r11835;
double r11862 = r11844 + r11861;
double r11863 = r11835 * r11862;
double r11864 = r11863 + r11838;
double r11865 = sqrt(r11864);
double r11866 = r11837 ? r11859 : r11865;
return r11866;
}



Bits error versus x
Results
if x < -5.555651763911567e-17Initial program 0.8
rmApplied *-un-lft-identity0.8
Applied add-sqr-sqrt0.8
Applied add-sqr-sqrt0.7
Applied difference-of-squares0.3
Applied times-frac0.3
Applied sqrt-prod0.3
rmApplied add-log-exp0.3
Applied exp-to-pow0.3
Applied sqrt-pow10.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied sqrt-prod0.0
if -5.555651763911567e-17 < x Initial program 37.7
Taylor expanded around 0 9.1
Simplified9.1
Final simplification0.9
herbie shell --seed 2020065
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))