\frac{x}{1 + \sqrt{x + 1}}\frac{x}{1 + \sqrt{1 + x}}double f(double x) {
double r4096363 = x;
double r4096364 = 1.0;
double r4096365 = r4096363 + r4096364;
double r4096366 = sqrt(r4096365);
double r4096367 = r4096364 + r4096366;
double r4096368 = r4096363 / r4096367;
return r4096368;
}
double f(double x) {
double r4096369 = x;
double r4096370 = 1.0;
double r4096371 = r4096370 + r4096369;
double r4096372 = sqrt(r4096371);
double r4096373 = r4096370 + r4096372;
double r4096374 = r4096369 / r4096373;
return r4096374;
}



Bits error versus x
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2019171 +o rules:numerics
(FPCore (x)
:name "Numeric.Log:$clog1p from log-domain-0.10.2.1, B"
(/ x (+ 1.0 (sqrt (+ x 1.0)))))