\left(x + v \cdot dt\right) + \left(\left(a \cdot dt\right) \cdot dt\right) \cdot 0.5
\left(x + v \cdot dt\right) + \left(\left(a \cdot dt\right) \cdot dt\right) \cdot 0.5
double code(double x, double v, double dt, double a) {
return ((double) (((double) (x + ((double) (v * dt)))) + ((double) (((double) (((double) (a * dt)) * dt)) * 0.5))));
}
double code(double x, double v, double dt, double a) {
return ((double) (((double) (x + ((double) (v * dt)))) + ((double) (((double) (((double) (a * dt)) * dt)) * 0.5))));
}



Bits error versus x



Bits error versus v



Bits error versus dt



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