\frac{x}{1 + \sqrt{x + 1}}\begin{array}{l}
\mathbf{if}\;x \le 5.56286823819809495:\\
\;\;\;\;\frac{x}{{1}^{3} + {\left(\sqrt{x + 1}\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\sqrt{x + 1} \cdot \sqrt{x + 1} - 1 \cdot \sqrt{x + 1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{\left(1 \cdot 1 - x\right) - 1}{1 - \sqrt{x + 1}}}\\
\end{array}double f(double x) {
double r126775 = x;
double r126776 = 1.0;
double r126777 = r126775 + r126776;
double r126778 = sqrt(r126777);
double r126779 = r126776 + r126778;
double r126780 = r126775 / r126779;
return r126780;
}
double f(double x) {
double r126781 = x;
double r126782 = 5.562868238198095;
bool r126783 = r126781 <= r126782;
double r126784 = 1.0;
double r126785 = 3.0;
double r126786 = pow(r126784, r126785);
double r126787 = r126781 + r126784;
double r126788 = sqrt(r126787);
double r126789 = pow(r126788, r126785);
double r126790 = r126786 + r126789;
double r126791 = r126781 / r126790;
double r126792 = r126784 * r126784;
double r126793 = r126788 * r126788;
double r126794 = r126784 * r126788;
double r126795 = r126793 - r126794;
double r126796 = r126792 + r126795;
double r126797 = r126791 * r126796;
double r126798 = r126792 - r126781;
double r126799 = r126798 - r126784;
double r126800 = r126784 - r126788;
double r126801 = r126799 / r126800;
double r126802 = r126781 / r126801;
double r126803 = r126783 ? r126797 : r126802;
return r126803;
}



Bits error versus x
Results
if x < 5.562868238198095Initial program 0.0
rmApplied flip3-+0.0
Applied associate-/r/0.0
if 5.562868238198095 < x Initial program 0.5
rmApplied flip-+0.5
Simplified0.0
Final simplification0.0
herbie shell --seed 2020035
(FPCore (x)
:name "Numeric.Log:$clog1p from log-domain-0.10.2.1, B"
:precision binary64
(/ x (+ 1 (sqrt (+ x 1)))))