\frac{x}{1.0 + \sqrt{x + 1.0}}\frac{x}{1.0 + \sqrt{1.0 + x}}double f(double x) {
double r7307916 = x;
double r7307917 = 1.0;
double r7307918 = r7307916 + r7307917;
double r7307919 = sqrt(r7307918);
double r7307920 = r7307917 + r7307919;
double r7307921 = r7307916 / r7307920;
return r7307921;
}
double f(double x) {
double r7307922 = x;
double r7307923 = 1.0;
double r7307924 = r7307923 + r7307922;
double r7307925 = sqrt(r7307924);
double r7307926 = r7307923 + r7307925;
double r7307927 = r7307922 / r7307926;
return r7307927;
}



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