\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{\left(\frac{\left(1\right)}{\left(\frac{x}{\left(1\right)}\right)}\right)}{\left(\left(\frac{\left(1\right)}{\left(x - \left(1\right)\right)}\right) - \left(\frac{\left(2\right)}{x}\right)\right)}double f(double x) {
double r7270418 = 1.0;
double r7270419 = /* ERROR: no posit support in C */;
double r7270420 = x;
double r7270421 = r7270420 + r7270419;
double r7270422 = r7270419 / r7270421;
double r7270423 = 2.0;
double r7270424 = /* ERROR: no posit support in C */;
double r7270425 = r7270424 / r7270420;
double r7270426 = r7270422 - r7270425;
double r7270427 = r7270420 - r7270419;
double r7270428 = r7270419 / r7270427;
double r7270429 = r7270426 + r7270428;
return r7270429;
}
double f(double x) {
double r7270430 = 1.0;
double r7270431 = /* ERROR: no posit support in C */;
double r7270432 = x;
double r7270433 = r7270432 + r7270431;
double r7270434 = r7270431 / r7270433;
double r7270435 = r7270432 - r7270431;
double r7270436 = r7270431 / r7270435;
double r7270437 = 2.0;
double r7270438 = /* ERROR: no posit support in C */;
double r7270439 = r7270438 / r7270432;
double r7270440 = r7270436 - r7270439;
double r7270441 = r7270434 + r7270440;
return r7270441;
}



Bits error versus x
Initial program 1.0
rmApplied +p16-rgt-identity-expand1.0
Applied associate--l+1.0
Applied associate-+l+1.0
Simplified1.0
Final simplification1.0
herbie shell --seed 2019168
(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)))))