\frac{x}{1.0 + \sqrt{x + 1.0}}\frac{x}{1.0 + \sqrt{1.0 + x}}double f(double x) {
double r2266018 = x;
double r2266019 = 1.0;
double r2266020 = r2266018 + r2266019;
double r2266021 = sqrt(r2266020);
double r2266022 = r2266019 + r2266021;
double r2266023 = r2266018 / r2266022;
return r2266023;
}
double f(double x) {
double r2266024 = x;
double r2266025 = 1.0;
double r2266026 = r2266025 + r2266024;
double r2266027 = sqrt(r2266026);
double r2266028 = r2266025 + r2266027;
double r2266029 = r2266024 / r2266028;
return r2266029;
}



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