Average Error: 0.0 → 0.0
Time: 3.0s
Precision: binary64
\[\left(\left(\left(x2 \cdot x5 + x3 \cdot x6\right) - x2 \cdot x3\right) - x5 \cdot x6\right) + x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right)\]
\[\left(x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right) + x3 \cdot \left(x6 - x2\right)\right) + x5 \cdot \left(x2 - x6\right)\]

Error

Bits error versus x2

Bits error versus x5

Bits error versus x3

Bits error versus x6

Bits error versus x1

Bits error versus x4

Derivation

  1. Initial program 0.0

    \[\left(\left(\left(x2 \cdot x5 + x3 \cdot x6\right) - x2 \cdot x3\right) - x5 \cdot x6\right) + x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right)\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\left(x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right) + x3 \cdot \left(x6 - x2\right)\right) + x5 \cdot \left(x2 - x6\right)}\]
  3. Final simplification0.0

    \[\leadsto \left(x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right) + x3 \cdot \left(x6 - x2\right)\right) + x5 \cdot \left(x2 - x6\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x2 x5 x3 x6 x1 x4)
  :name "(+ (- (- (+ (* x2 x5) (* x3 x6)) (* x2 x3)) (* x5 x6)) (* x1 (+ (+ (- (+ (+ (- x1) x2) x3) x4) x5) x6)))"
  :precision binary64
  (+ (- (- (+ (* x2 x5) (* x3 x6)) (* x2 x3)) (* x5 x6)) (* x1 (+ (+ (- (+ (+ (neg x1) x2) x3) x4) x5) x6))))