\frac{x}{1 + \sqrt{x + 1}}\begin{array}{l}
\mathbf{if}\;x \le 2.76990929119128312565564679437277867402 \cdot 10^{-9}:\\
\;\;\;\;\frac{x}{\mathsf{fma}\left(1 + x, \sqrt{1 + x}, 1 \cdot \left(1 \cdot 1\right)\right)} \cdot \left(1 \cdot 1\right) + \frac{\left(\sqrt{1 + x} \cdot \left(\sqrt{1 + x} - 1\right)\right) \cdot x}{\mathsf{fma}\left(1 + x, \sqrt{1 + x}, 1 \cdot \left(1 \cdot 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{x} \cdot \frac{\sqrt{x}}{\sqrt{1 + x} + 1}\\
\end{array}double f(double x) {
double r6132150 = x;
double r6132151 = 1.0;
double r6132152 = r6132150 + r6132151;
double r6132153 = sqrt(r6132152);
double r6132154 = r6132151 + r6132153;
double r6132155 = r6132150 / r6132154;
return r6132155;
}
double f(double x) {
double r6132156 = x;
double r6132157 = 2.769909291191283e-09;
bool r6132158 = r6132156 <= r6132157;
double r6132159 = 1.0;
double r6132160 = r6132159 + r6132156;
double r6132161 = sqrt(r6132160);
double r6132162 = r6132159 * r6132159;
double r6132163 = r6132159 * r6132162;
double r6132164 = fma(r6132160, r6132161, r6132163);
double r6132165 = r6132156 / r6132164;
double r6132166 = r6132165 * r6132162;
double r6132167 = r6132161 - r6132159;
double r6132168 = r6132161 * r6132167;
double r6132169 = r6132168 * r6132156;
double r6132170 = r6132169 / r6132164;
double r6132171 = r6132166 + r6132170;
double r6132172 = sqrt(r6132156);
double r6132173 = r6132161 + r6132159;
double r6132174 = r6132172 / r6132173;
double r6132175 = r6132172 * r6132174;
double r6132176 = r6132158 ? r6132171 : r6132175;
return r6132176;
}



Bits error versus x
if x < 2.769909291191283e-09Initial program 0.0
rmApplied flip3-+0.0
Applied associate-/r/0.0
Simplified0.0
rmApplied distribute-lft-in0.0
Simplified0.0
if 2.769909291191283e-09 < x Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied add-sqr-sqrt0.1
Applied times-frac0.1
Simplified0.1
Final simplification0.0
herbie shell --seed 2019169 +o rules:numerics
(FPCore (x)
:name "Numeric.Log:$clog1p from log-domain-0.10.2.1, B"
(/ x (+ 1.0 (sqrt (+ x 1.0)))))