\frac{x}{1 + \sqrt{x + 1}}x \cdot \frac{1}{1 + \sqrt{x + 1}}double f(double x) {
double r90611 = x;
double r90612 = 1.0;
double r90613 = r90611 + r90612;
double r90614 = sqrt(r90613);
double r90615 = r90612 + r90614;
double r90616 = r90611 / r90615;
return r90616;
}
double f(double x) {
double r90617 = x;
double r90618 = 1.0;
double r90619 = 1.0;
double r90620 = r90617 + r90619;
double r90621 = sqrt(r90620);
double r90622 = r90619 + r90621;
double r90623 = r90618 / r90622;
double r90624 = r90617 * r90623;
return r90624;
}



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