\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)}\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}double f(double x) {
double r7881282 = 1.0;
double r7881283 = /* ERROR: no posit support in C */;
double r7881284 = x;
double r7881285 = r7881284 + r7881283;
double r7881286 = r7881283 / r7881285;
double r7881287 = 2.0;
double r7881288 = /* ERROR: no posit support in C */;
double r7881289 = r7881288 / r7881284;
double r7881290 = r7881286 - r7881289;
double r7881291 = r7881284 - r7881283;
double r7881292 = r7881283 / r7881291;
double r7881293 = r7881290 + r7881292;
return r7881293;
}
double f(double x) {
double r7881294 = 1.0;
double r7881295 = x;
double r7881296 = r7881295 + r7881294;
double r7881297 = r7881294 / r7881296;
double r7881298 = 2.0;
double r7881299 = r7881298 / r7881295;
double r7881300 = r7881297 - r7881299;
double r7881301 = r7881295 - r7881294;
double r7881302 = r7881294 / r7881301;
double r7881303 = r7881300 + r7881302;
return r7881303;
}



Bits error versus x
Initial program 1.0
Final simplification1.0
herbie shell --seed 2019162
(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)))))