\left(\frac{\left(1\right)}{\left(\sqrt{x}\right)}\right) - \left(\frac{\left(1\right)}{\left(\sqrt{\left(\frac{x}{\left(1\right)}\right)}\right)}\right)\left(\frac{\left(1\right)}{\left(\sqrt{x}\right)}\right) - \left(\frac{\left(1\right)}{\left(\sqrt{\left(\frac{x}{\left(1\right)}\right)}\right)}\right)double f(double x) {
double r4446298 = 1.0;
double r4446299 = /* ERROR: no posit support in C */;
double r4446300 = x;
double r4446301 = sqrt(r4446300);
double r4446302 = r4446299 / r4446301;
double r4446303 = r4446300 + r4446299;
double r4446304 = sqrt(r4446303);
double r4446305 = r4446299 / r4446304;
double r4446306 = r4446302 - r4446305;
return r4446306;
}
double f(double x) {
double r4446307 = 1.0;
double r4446308 = /* ERROR: no posit support in C */;
double r4446309 = x;
double r4446310 = sqrt(r4446309);
double r4446311 = r4446308 / r4446310;
double r4446312 = r4446309 + r4446308;
double r4446313 = sqrt(r4446312);
double r4446314 = r4446308 / r4446313;
double r4446315 = r4446311 - r4446314;
return r4446315;
}



Bits error versus x
Initial program 0.6
Final simplification0.6
herbie shell --seed 2019168
(FPCore (x)
:name "2isqrt (example 3.6)"
(-.p16 (/.p16 (real->posit16 1) (sqrt.p16 x)) (/.p16 (real->posit16 1) (sqrt.p16 (+.p16 x (real->posit16 1))))))