\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(\left(-\frac{2}{x}\right) + \frac{1}{x - 1}\right)double f(double x) {
double r1203846 = 1.0;
double r1203847 = /* ERROR: no posit support in C */;
double r1203848 = x;
double r1203849 = r1203848 + r1203847;
double r1203850 = r1203847 / r1203849;
double r1203851 = 2.0;
double r1203852 = /* ERROR: no posit support in C */;
double r1203853 = r1203852 / r1203848;
double r1203854 = r1203850 - r1203853;
double r1203855 = r1203848 - r1203847;
double r1203856 = r1203847 / r1203855;
double r1203857 = r1203854 + r1203856;
return r1203857;
}
double f(double x) {
double r1203858 = 1.0;
double r1203859 = x;
double r1203860 = r1203859 + r1203858;
double r1203861 = r1203858 / r1203860;
double r1203862 = 2.0;
double r1203863 = r1203862 / r1203859;
double r1203864 = -r1203863;
double r1203865 = r1203859 - r1203858;
double r1203866 = r1203858 / r1203865;
double r1203867 = r1203864 + r1203866;
double r1203868 = r1203861 + r1203867;
return r1203868;
}



Bits error versus x
Initial program 1.0
rmApplied sub-neg1.0
Applied associate-+l+1.0
Final simplification1.0
herbie shell --seed 2019121 +o rules:numerics
(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)))))