\frac{\left(\left(\frac{\left(1\right)}{\left(\frac{x}{\left(1\right)}\right)}\right) - \left(\frac{\left(2\right)}{x}\right)\right)}{\left(\frac{\left(1\right)}{\left(x - \left(1\right)\right)}\right)}\frac{1}{x + 1} - \left(\frac{2}{x} - \frac{1}{x - 1}\right)double f(double x) {
double r2237605 = 1.0;
double r2237606 = /* ERROR: no posit support in C */;
double r2237607 = x;
double r2237608 = r2237607 + r2237606;
double r2237609 = r2237606 / r2237608;
double r2237610 = 2.0;
double r2237611 = /* ERROR: no posit support in C */;
double r2237612 = r2237611 / r2237607;
double r2237613 = r2237609 - r2237612;
double r2237614 = r2237607 - r2237606;
double r2237615 = r2237606 / r2237614;
double r2237616 = r2237613 + r2237615;
return r2237616;
}
double f(double x) {
double r2237617 = 1.0;
double r2237618 = x;
double r2237619 = r2237618 + r2237617;
double r2237620 = r2237617 / r2237619;
double r2237621 = 2.0;
double r2237622 = r2237621 / r2237618;
double r2237623 = r2237618 - r2237617;
double r2237624 = r2237617 / r2237623;
double r2237625 = r2237622 - r2237624;
double r2237626 = r2237620 - r2237625;
return r2237626;
}



Bits error versus x
Initial program 1.0
rmApplied associate-+l-1.0
Final simplification1.0
herbie shell --seed 2019124
(FPCore (x)
:name "3frac (problem 3.3.3)"
(+.p16 (-.p16 (/.p16 (real->posit16 1) (+.p16 x (real->posit16 1))) (/.p16 (real->posit16 2) x)) (/.p16 (real->posit16 1) (-.p16 x (real->posit16 1)))))