\frac{x}{1 + \sqrt{x + 1}}\frac{x}{1 + \sqrt{\sqrt{1 + x}} \cdot \sqrt{\sqrt{1 + x}}}double f(double x) {
double r4885035 = x;
double r4885036 = 1.0;
double r4885037 = r4885035 + r4885036;
double r4885038 = sqrt(r4885037);
double r4885039 = r4885036 + r4885038;
double r4885040 = r4885035 / r4885039;
return r4885040;
}
double f(double x) {
double r4885041 = x;
double r4885042 = 1.0;
double r4885043 = r4885042 + r4885041;
double r4885044 = sqrt(r4885043);
double r4885045 = sqrt(r4885044);
double r4885046 = r4885045 * r4885045;
double r4885047 = r4885042 + r4885046;
double r4885048 = r4885041 / r4885047;
return r4885048;
}



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