\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 r5938441 = 1.0;
double r5938442 = /* ERROR: no posit support in C */;
double r5938443 = x;
double r5938444 = sqrt(r5938443);
double r5938445 = r5938442 / r5938444;
double r5938446 = r5938443 + r5938442;
double r5938447 = sqrt(r5938446);
double r5938448 = r5938442 / r5938447;
double r5938449 = r5938445 - r5938448;
return r5938449;
}
double f(double x) {
double r5938450 = 1.0;
double r5938451 = /* ERROR: no posit support in C */;
double r5938452 = x;
double r5938453 = sqrt(r5938452);
double r5938454 = r5938451 / r5938453;
double r5938455 = r5938452 + r5938451;
double r5938456 = sqrt(r5938455);
double r5938457 = r5938451 / r5938456;
double r5938458 = r5938454 - r5938457;
return r5938458;
}



Bits error versus x
Initial program 0.6
Final simplification0.6
herbie shell --seed 2019168 +o rules:numerics
(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))))))