\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)\frac{\left(\frac{1}{\sqrt{x}} + \frac{1}{\sqrt{x + 1}}\right) \cdot \left(\frac{1}{\sqrt{x}} - \frac{1}{\sqrt{x + 1}}\right)}{\frac{1}{\sqrt{x}} + \frac{1}{\sqrt{x + 1}}}double f(double x) {
double r10796728 = 1.0;
double r10796729 = /* ERROR: no posit support in C */;
double r10796730 = x;
double r10796731 = sqrt(r10796730);
double r10796732 = r10796729 / r10796731;
double r10796733 = r10796730 + r10796729;
double r10796734 = sqrt(r10796733);
double r10796735 = r10796729 / r10796734;
double r10796736 = r10796732 - r10796735;
return r10796736;
}
double f(double x) {
double r10796737 = 1.0;
double r10796738 = x;
double r10796739 = sqrt(r10796738);
double r10796740 = r10796737 / r10796739;
double r10796741 = r10796738 + r10796737;
double r10796742 = sqrt(r10796741);
double r10796743 = r10796737 / r10796742;
double r10796744 = r10796740 + r10796743;
double r10796745 = r10796740 - r10796743;
double r10796746 = r10796744 * r10796745;
double r10796747 = r10796746 / r10796744;
return r10796747;
}



Bits error versus x
Initial program 0.6
rmApplied p16-flip--0.7
rmApplied difference-of-squares0.6
Final simplification0.6
herbie shell --seed 2019135
(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))))))