\left(\sqrt{\left(\frac{x}{\left(1\right)}\right)}\right) - \left(\sqrt{x}\right)\frac{1 \cdot \left(x + \left(1 + x\right)\right)}{\left(\sqrt{x + 1} + \sqrt{x}\right) \cdot \left(\left(x + 1\right) + x\right)}double f(double x) {
double r1587180 = x;
double r1587181 = 1.0;
double r1587182 = /* ERROR: no posit support in C */;
double r1587183 = r1587180 + r1587182;
double r1587184 = sqrt(r1587183);
double r1587185 = sqrt(r1587180);
double r1587186 = r1587184 - r1587185;
return r1587186;
}
double f(double x) {
double r1587187 = 1.0;
double r1587188 = x;
double r1587189 = r1587187 + r1587188;
double r1587190 = r1587188 + r1587189;
double r1587191 = r1587187 * r1587190;
double r1587192 = r1587188 + r1587187;
double r1587193 = sqrt(r1587192);
double r1587194 = sqrt(r1587188);
double r1587195 = r1587193 + r1587194;
double r1587196 = r1587192 + r1587188;
double r1587197 = r1587195 * r1587196;
double r1587198 = r1587191 / r1587197;
return r1587198;
}



Bits error versus x
Initial program 0.8
rmApplied p16-flip--0.6
rmApplied sqrt-sqrd.p160.5
rmApplied sqrt-sqrd.p160.4
rmApplied p16-flip--0.9
Applied associate-/l/0.9
Simplified0.4
Final simplification0.4
herbie shell --seed 2019112 +o rules:numerics
(FPCore (x)
:name "2sqrt (example 3.1)"
(-.p16 (sqrt.p16 (+.p16 x (real->posit16 1))) (sqrt.p16 x)))