\frac{x}{1 + \sqrt{x + 1}}\begin{array}{l}
\mathbf{if}\;x \le 2.653971370452547882012916288428881643354 \cdot 10^{-23}:\\
\;\;\;\;\frac{x}{\sqrt[3]{{\left(1 + \sqrt{x + 1}\right)}^{3}}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{x} \cdot \frac{\sqrt{x}}{\sqrt{x + 1} + 1}\\
\end{array}double f(double x) {
double r86092 = x;
double r86093 = 1.0;
double r86094 = r86092 + r86093;
double r86095 = sqrt(r86094);
double r86096 = r86093 + r86095;
double r86097 = r86092 / r86096;
return r86097;
}
double f(double x) {
double r86098 = x;
double r86099 = 2.653971370452548e-23;
bool r86100 = r86098 <= r86099;
double r86101 = 1.0;
double r86102 = r86098 + r86101;
double r86103 = sqrt(r86102);
double r86104 = r86101 + r86103;
double r86105 = 3.0;
double r86106 = pow(r86104, r86105);
double r86107 = cbrt(r86106);
double r86108 = r86098 / r86107;
double r86109 = sqrt(r86098);
double r86110 = r86103 + r86101;
double r86111 = r86109 / r86110;
double r86112 = r86109 * r86111;
double r86113 = r86100 ? r86108 : r86112;
return r86113;
}



Bits error versus x
Results
if x < 2.653971370452548e-23Initial program 0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
if 2.653971370452548e-23 < x Initial program 0.5
rmApplied add-cbrt-cube19.8
Simplified19.8
rmApplied *-un-lft-identity19.8
Applied unpow-prod-down19.8
Applied cbrt-prod19.8
Applied add-sqr-sqrt19.7
Applied times-frac19.7
Simplified19.7
Simplified0.1
Final simplification0.0
herbie shell --seed 2019304 +o rules:numerics
(FPCore (x)
:name "Numeric.Log:$clog1p from log-domain-0.10.2.1, B"
:precision binary64
(/ x (+ 1 (sqrt (+ x 1)))))