double f(double x) {
double r2997123 = 1.0;
double r2997124 = x;
double r2997125 = r2997124 + r2997123;
double r2997126 = r2997123 / r2997125;
double r2997127 = r2997123 / r2997124;
double r2997128 = r2997126 - r2997127;
return r2997128;
}
double f(double x) {
double r2997129 = 1.0;
double r2997130 = x;
double r2997131 = r2997130 + r2997129;
double r2997132 = r2997129 / r2997131;
double r2997133 = r2997129 / r2997130;
double r2997134 = r2997132 + r2997133;
double r2997135 = r2997132 - r2997133;
double r2997136 = r2997134 / r2997135;
double r2997137 = r2997134 / r2997136;
return r2997137;
}
\frac{1}{x + 1} - \frac{1}{x}\frac{\frac{1}{x + 1} + \frac{1}{x}}{\frac{\frac{1}{x + 1} + \frac{1}{x}}{\frac{1}{x + 1} - \frac{1}{x}}}


Bits error versus x
Initial program 0.6
rmApplied p16-flip--1.3
rmApplied difference-of-squares1.0
Applied associate-/l*0.9
Final simplification0.9
herbie shell --seed 2019101
(FPCore (x)
:name "2frac (problem 3.3.1)"
(-.p16 (/.p16 (real->posit16 1) (+.p16 x (real->posit16 1))) (/.p16 (real->posit16 1) x)))