Average Error: 15.7 → 1.7
Time: 3.0s
Precision: binary64
\[\left(-\left(\left(az - dz\right) - \frac{vz}{vx} \cdot \left(ax - dx\right)\right)\right) - \left(bz - az\right)\]
\[dz + \left(\frac{vz}{vx} \cdot \left(ax - dx\right) - bz\right)\]

Error

Bits error versus az

Bits error versus dz

Bits error versus vz

Bits error versus vx

Bits error versus ax

Bits error versus dx

Bits error versus bz

Derivation

  1. Initial program 15.7

    \[\left(-\left(\left(az - dz\right) - \frac{vz}{vx} \cdot \left(ax - dx\right)\right)\right) - \left(bz - az\right)\]
  2. Simplified1.7

    \[\leadsto \color{blue}{\left(dz + \left(\frac{vz}{vx} \cdot \left(ax - dx\right) - bz\right)\right) + 0}\]
  3. Final simplification1.7

    \[\leadsto dz + \left(\frac{vz}{vx} \cdot \left(ax - dx\right) - bz\right)\]

Reproduce

herbie shell --seed 2020152 
(FPCore (az dz vz vx ax dx bz)
  :name "(- (- (- (- az dz) (* (/ vz vx) (- ax dx)))) (- bz az))"
  :precision binary64
  (- (neg (- (- az dz) (* (/ vz vx) (- ax dx)))) (- bz az)))