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



Bits error versus x



Bits error versus v



Bits error versus v1



Bits error versus dt
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020152
(FPCore (x v v1 dt)
:name "(+ x (* (+ v v1) (* dt 0.5)))"
:precision binary64
(+ x (* (+ v v1) (* dt 0.5))))