\left(\left(x - \frac{\left(x \cdot x\right) \cdot x}{6}\right) + \frac{\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}{120}\right) - \frac{\left(\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot x}{5040}\left(x - \frac{\left(x \cdot x\right) \cdot x}{6}\right) + {x}^{4} \cdot \left(\frac{x}{120} - \frac{{x}^{3}}{5040}\right)double code(double x) {
return ((double) (((double) (((double) (x - ((double) (((double) (((double) (x * x)) * x)) / 6.0)))) + ((double) (((double) (((double) (((double) (((double) (x * x)) * x)) * x)) * x)) / 120.0)))) - ((double) (((double) (((double) (((double) (((double) (((double) (((double) (x * x)) * x)) * x)) * x)) * x)) * x)) / 5040.0))));
}
double code(double x) {
return ((double) (((double) (x - ((double) (((double) (((double) (x * x)) * x)) / 6.0)))) + ((double) (((double) pow(x, 4.0)) * ((double) (((double) (x / 120.0)) - ((double) (((double) pow(x, 3.0)) / 5040.0))))))));
}



Bits error versus x
Results
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (x)
:name "(- (+ (- x (/ (* (* x x) x) 6)) (/ (* (* (* (* x x) x) x) x) 120)) (/ (* (* (* (* (* (* x x) x) x) x) x) x) 5040))"
:precision binary64
(- (+ (- x (/ (* (* x x) x) 6.0)) (/ (* (* (* (* x x) x) x) x) 120.0)) (/ (* (* (* (* (* (* x x) x) x) x) x) x) 5040.0)))