Average Error: 16.0 → 16.0
Time: 7.9s
Precision: binary64
\[\left(\left(\left(ax \cdot ax + ay \cdot ay\right) \cdot \left(by - cy\right) + \left(bx \cdot bx + by \cdot by\right) \cdot \left(cy - ay\right)\right) + \left(cx \cdot cx + cy \cdot cy\right) \cdot \left(ay - by\right)\right) - \left(-timeout\right) \cdot 5\]
\[\left(ax \cdot ax + ay \cdot ay\right) \cdot \left(by - cy\right) + \left(\left(\left(bx \cdot bx + by \cdot by\right) \cdot \left(cy - ay\right) + \left(cx \cdot cx + cy \cdot cy\right) \cdot \left(ay - by\right)\right) + timeout \cdot 5\right)\]

Error

Bits error versus ax

Bits error versus ay

Bits error versus by

Bits error versus cy

Bits error versus bx

Bits error versus cx

Bits error versus timeout

Derivation

  1. Initial program 16.0

    \[\left(\left(\left(ax \cdot ax + ay \cdot ay\right) \cdot \left(by - cy\right) + \left(bx \cdot bx + by \cdot by\right) \cdot \left(cy - ay\right)\right) + \left(cx \cdot cx + cy \cdot cy\right) \cdot \left(ay - by\right)\right) - \left(-timeout\right) \cdot 5\]
  2. Simplified16.0

    \[\leadsto \color{blue}{\left(ax \cdot ax + ay \cdot ay\right) \cdot \left(by - cy\right) + \left(\left(\left(bx \cdot bx + by \cdot by\right) \cdot \left(cy - ay\right) + \left(cx \cdot cx + cy \cdot cy\right) \cdot \left(ay - by\right)\right) + timeout \cdot 5\right)}\]
  3. Final simplification16.0

    \[\leadsto \left(ax \cdot ax + ay \cdot ay\right) \cdot \left(by - cy\right) + \left(\left(\left(bx \cdot bx + by \cdot by\right) \cdot \left(cy - ay\right) + \left(cx \cdot cx + cy \cdot cy\right) \cdot \left(ay - by\right)\right) + timeout \cdot 5\right)\]

Reproduce

herbie shell --seed 2020152 
(FPCore (ax ay by cy bx cx timeout)
  :name "(- (+ (+ (* (+ (* ax ax) (* ay ay)) (- by cy)) (* (+ (* bx bx) (* by by)) (- cy ay))) (* (+ (* cx cx) (* cy cy)) (- ay by))) (* (- timeout) 5))"
  :precision binary64
  (- (+ (+ (* (+ (* ax ax) (* ay ay)) (- by cy)) (* (+ (* bx bx) (* by by)) (- cy ay))) (* (+ (* cx cx) (* cy cy)) (- ay by))) (* (neg timeout) 5.0)))