\left(\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\right) - timeout1000\left(\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\right) - timeout1000double code(double x, double timeout1000) {
return ((double) (((double) (((double) (((double) (1.0 / ((double) (x + 1.0)))) - ((double) (2.0 / x)))) + ((double) (1.0 / ((double) (x - 1.0)))))) - timeout1000));
}
double code(double x, double timeout1000) {
return ((double) (((double) (((double) (((double) (1.0 / ((double) (x + 1.0)))) - ((double) (2.0 / x)))) + ((double) (1.0 / ((double) (x - 1.0)))))) - timeout1000));
}



Bits error versus x



Bits error versus timeout1000
Results
Initial program 2.2
Final simplification2.2
herbie shell --seed 2020152
(FPCore (x timeout1000)
:name "(- (+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))) timeout1000)"
:precision binary64
(- (+ (- (/ 1.0 (+ x 1.0)) (/ 2.0 x)) (/ 1.0 (- x 1.0))) timeout1000))