\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{1}{x - 1} - \frac{2}{x}\right)double f(double x) {
double r2071007 = 1.0;
double r2071008 = /* ERROR: no posit support in C */;
double r2071009 = x;
double r2071010 = r2071009 + r2071008;
double r2071011 = r2071008 / r2071010;
double r2071012 = 2.0;
double r2071013 = /* ERROR: no posit support in C */;
double r2071014 = r2071013 / r2071009;
double r2071015 = r2071011 - r2071014;
double r2071016 = r2071009 - r2071008;
double r2071017 = r2071008 / r2071016;
double r2071018 = r2071015 + r2071017;
return r2071018;
}
double f(double x) {
double r2071019 = 1.0;
double r2071020 = x;
double r2071021 = r2071020 + r2071019;
double r2071022 = r2071019 / r2071021;
double r2071023 = r2071020 - r2071019;
double r2071024 = r2071019 / r2071023;
double r2071025 = 2.0;
double r2071026 = r2071025 / r2071020;
double r2071027 = r2071024 - r2071026;
double r2071028 = r2071022 + r2071027;
return r2071028;
}



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