\left(\sqrt{\left(\frac{x}{\left(1\right)}\right)}\right) - \left(\sqrt{x}\right)\frac{x + \left(1 - x\right)}{\sqrt{x + 1} + \sqrt{x}}double f(double x) {
double r1217306 = x;
double r1217307 = 1.0;
double r1217308 = /* ERROR: no posit support in C */;
double r1217309 = r1217306 + r1217308;
double r1217310 = sqrt(r1217309);
double r1217311 = sqrt(r1217306);
double r1217312 = r1217310 - r1217311;
return r1217312;
}
double f(double x) {
double r1217313 = x;
double r1217314 = 1.0;
double r1217315 = r1217314 - r1217313;
double r1217316 = r1217313 + r1217315;
double r1217317 = r1217313 + r1217314;
double r1217318 = sqrt(r1217317);
double r1217319 = sqrt(r1217313);
double r1217320 = r1217318 + r1217319;
double r1217321 = r1217316 / r1217320;
return r1217321;
}



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