\frac{x}{1 + \sqrt{x + 1}}\begin{array}{l}
\mathbf{if}\;x \le 3410021961549198:\\
\;\;\;\;\frac{x}{1 + \frac{\sqrt{\mathsf{fma}\left(1 \cdot 1, 1, x \cdot \left(x \cdot x\right)\right)}}{\sqrt{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{x} \cdot \frac{\sqrt{x}}{1 + \sqrt{x + 1}}\\
\end{array}double f(double x) {
double r12017432 = x;
double r12017433 = 1.0;
double r12017434 = r12017432 + r12017433;
double r12017435 = sqrt(r12017434);
double r12017436 = r12017433 + r12017435;
double r12017437 = r12017432 / r12017436;
return r12017437;
}
double f(double x) {
double r12017438 = x;
double r12017439 = 3410021961549198.0;
bool r12017440 = r12017438 <= r12017439;
double r12017441 = 1.0;
double r12017442 = r12017441 * r12017441;
double r12017443 = r12017438 * r12017438;
double r12017444 = r12017438 * r12017443;
double r12017445 = fma(r12017442, r12017441, r12017444);
double r12017446 = sqrt(r12017445);
double r12017447 = r12017438 * r12017441;
double r12017448 = r12017442 - r12017447;
double r12017449 = r12017443 + r12017448;
double r12017450 = sqrt(r12017449);
double r12017451 = r12017446 / r12017450;
double r12017452 = r12017441 + r12017451;
double r12017453 = r12017438 / r12017452;
double r12017454 = sqrt(r12017438);
double r12017455 = r12017438 + r12017441;
double r12017456 = sqrt(r12017455);
double r12017457 = r12017441 + r12017456;
double r12017458 = r12017454 / r12017457;
double r12017459 = r12017454 * r12017458;
double r12017460 = r12017440 ? r12017453 : r12017459;
return r12017460;
}



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