Average Error: 11.7 → 11.7
Time: 2.3s
Precision: binary64
\[\frac{x + \left(\left(-y1\right) \cdot y2 - \left(z1 \cdot z2 - w1 \cdot w2\right)\right)}{a}\]
\[\frac{x + \left(\left(-y1\right) \cdot y2 - \left(z1 \cdot z2 - w1 \cdot w2\right)\right)}{a}\]

Error

Bits error versus x

Bits error versus y1

Bits error versus y2

Bits error versus z1

Bits error versus z2

Bits error versus w1

Bits error versus w2

Bits error versus a

Derivation

  1. Initial program 11.7

    \[\frac{x + \left(\left(-y1\right) \cdot y2 - \left(z1 \cdot z2 - w1 \cdot w2\right)\right)}{a}\]
  2. Final simplification11.7

    \[\leadsto \frac{x + \left(\left(-y1\right) \cdot y2 - \left(z1 \cdot z2 - w1 \cdot w2\right)\right)}{a}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x y1 y2 z1 z2 w1 w2 a)
  :name "(/ (+ x (- (* (- y1) y2) (- (* z1 z2) (* w1 w2)))) a)"
  :precision binary64
  (/ (+ x (- (* (neg y1) y2) (- (* z1 z2) (* w1 w2)))) a))