Average Error: 40.0 → 40.0
Time: 3.1s
Precision: binary64
\[\frac{\left(\left(1 - 2 \cdot x\right) - \sqrt{1 + \left(\left(4 \cdot \left(\left(-1\right) + x\right)\right) \cdot x\right) \cdot \left(1 - 4 \cdot y\right)}\right) + \left(8 \cdot x\right) \cdot y}{\left(-2\right) + 8 \cdot y}\]
\[\frac{\left(\left(1 - 2 \cdot x\right) - \sqrt{1 + \left(\left(4 \cdot \left(\left(-1\right) + x\right)\right) \cdot x\right) \cdot \left(1 - 4 \cdot y\right)}\right) + \left(8 \cdot x\right) \cdot y}{\left(-2\right) + 8 \cdot y}\]

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 40.0

    \[\frac{\left(\left(1 - 2 \cdot x\right) - \sqrt{1 + \left(\left(4 \cdot \left(\left(-1\right) + x\right)\right) \cdot x\right) \cdot \left(1 - 4 \cdot y\right)}\right) + \left(8 \cdot x\right) \cdot y}{\left(-2\right) + 8 \cdot y}\]
  2. Final simplification40.0

    \[\leadsto \frac{\left(\left(1 - 2 \cdot x\right) - \sqrt{1 + \left(\left(4 \cdot \left(\left(-1\right) + x\right)\right) \cdot x\right) \cdot \left(1 - 4 \cdot y\right)}\right) + \left(8 \cdot x\right) \cdot y}{\left(-2\right) + 8 \cdot y}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x y)
  :name "(/ (+ (- (- 1 (* 2 x)) (sqrt (+ 1 (* (* (* 4 (+ (- 1) x)) x) (- 1 (* 4 y)))))) (* (* 8 x) y)) (+ (- 2) (* 8 y)))"
  :precision binary64
  (/ (+ (- (- 1.0 (* 2.0 x)) (sqrt (+ 1.0 (* (* (* 4.0 (+ (neg 1.0) x)) x) (- 1.0 (* 4.0 y)))))) (* (* 8.0 x) y)) (+ (neg 2.0) (* 8.0 y))))