Average Error: 0.2 → 0.2
Time: 4.0s
Precision: binary64
\[\left(\left(3 \cdot {x}^{2} - {y}^{2}\right) \cdot \left(3 \cdot {x}^{2} + {y}^{2}\right) + 2 \cdot {y}^{2}\right) - \left(-timeout2\right)\]
\[2 \cdot {y}^{2} + \left(\left(3 \cdot {x}^{2} - {y}^{2}\right) \cdot \left(3 \cdot {x}^{2} + {y}^{2}\right) + timeout2\right)\]

Error

Bits error versus x

Bits error versus y

Bits error versus timeout2

Derivation

  1. Initial program 0.2

    \[\left(\left(3 \cdot {x}^{2} - {y}^{2}\right) \cdot \left(3 \cdot {x}^{2} + {y}^{2}\right) + 2 \cdot {y}^{2}\right) - \left(-timeout2\right)\]
  2. Simplified0.2

    \[\leadsto \color{blue}{2 \cdot {y}^{2} + \left(\left(3 \cdot {x}^{2} - {y}^{2}\right) \cdot \left(3 \cdot {x}^{2} + {y}^{2}\right) + timeout2\right)}\]
  3. Final simplification0.2

    \[\leadsto 2 \cdot {y}^{2} + \left(\left(3 \cdot {x}^{2} - {y}^{2}\right) \cdot \left(3 \cdot {x}^{2} + {y}^{2}\right) + timeout2\right)\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x y timeout2)
  :name "(- (+ (* (- (* 3 (pow x 2)) (pow y 2)) (+ (* 3 (pow x 2)) (pow y 2))) (* 2 (pow y 2))) (- timeout2))"
  :precision binary64
  (- (+ (* (- (* 3.0 (pow x 2.0)) (pow y 2.0)) (+ (* 3.0 (pow x 2.0)) (pow y 2.0))) (* 2.0 (pow y 2.0))) (neg timeout2)))