1 + x \cdot \left(1 + x \cdot \left(1 + x\right)\right)
1 + x \cdot \left(1 + x \cdot \left(1 + x\right)\right)
double code(double x) {
return ((double) (1.0 + ((double) (x * ((double) (1.0 + ((double) (x * ((double) (1.0 + x))))))))));
}
double code(double x) {
return ((double) (1.0 + ((double) (x * ((double) (1.0 + ((double) (x * ((double) (1.0 + x))))))))));
}



Bits error versus x
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (x)
:name "(+ 1 (* x (+ 1 (* x (+ 1 x)))))"
:precision binary64
(+ 1.0 (* x (+ 1.0 (* x (+ 1.0 x))))))