\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 r2011105 = 1.0;
double r2011106 = /* ERROR: no posit support in C */;
double r2011107 = x;
double r2011108 = r2011107 + r2011106;
double r2011109 = r2011106 / r2011108;
double r2011110 = 2.0;
double r2011111 = /* ERROR: no posit support in C */;
double r2011112 = r2011111 / r2011107;
double r2011113 = r2011109 - r2011112;
double r2011114 = r2011107 - r2011106;
double r2011115 = r2011106 / r2011114;
double r2011116 = r2011113 + r2011115;
return r2011116;
}
double f(double x) {
double r2011117 = 1.0;
double r2011118 = x;
double r2011119 = r2011118 + r2011117;
double r2011120 = r2011117 / r2011119;
double r2011121 = 2.0;
double r2011122 = r2011121 / r2011118;
double r2011123 = -r2011122;
double r2011124 = r2011118 - r2011117;
double r2011125 = r2011117 / r2011124;
double r2011126 = r2011123 + r2011125;
double r2011127 = r2011120 + r2011126;
return r2011127;
}



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