Average Error: 47.6 → 47.6
Time: 17.8s
Precision: binary64
\[\frac{\left(\left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(\left(-\left(\left(\left(-Bh2\right) \cdot \ell\right) \cdot p - \left(2 \cdot Bh1\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(\left(2 \cdot Bh1\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot y\right) - \left(Bh2 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(2 \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) - \left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a2\right) \cdot {p}^{2}}{c0 \cdot p} - \frac{c1 \cdot \left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(-\left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(Bh1 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) - \left({Bh0}^{2} \cdot a2\right) \cdot {p}^{2}\right)}{{c0}^{2} \cdot p}\]
\[\frac{\left(\left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(\left(-\left(\left(\left(-Bh2\right) \cdot \ell\right) \cdot p - \left(2 \cdot Bh1\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(\left(2 \cdot Bh1\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot y\right) - \left(Bh2 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(2 \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) - \left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a2\right) \cdot {p}^{2}}{c0 \cdot p} - \frac{c1 \cdot \left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(-\left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(Bh1 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) - \left({Bh0}^{2} \cdot a2\right) \cdot {p}^{2}\right)}{{c0}^{2} \cdot p}\]

Error

Bits error versus a1

Bits error versus Bh2

Bits error versus l

Bits error versus p

Bits error versus Bh1

Bits error versus Bh0

Bits error versus y

Bits error versus a2

Bits error versus c0

Bits error versus c1

Derivation

  1. Initial program 47.6

    \[\frac{\left(\left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(\left(-\left(\left(\left(-Bh2\right) \cdot \ell\right) \cdot p - \left(2 \cdot Bh1\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(\left(2 \cdot Bh1\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot y\right) - \left(Bh2 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(2 \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) - \left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a2\right) \cdot {p}^{2}}{c0 \cdot p} - \frac{c1 \cdot \left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(-\left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(Bh1 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) - \left({Bh0}^{2} \cdot a2\right) \cdot {p}^{2}\right)}{{c0}^{2} \cdot p}\]
  2. Final simplification47.6

    \[\leadsto \frac{\left(\left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(\left(-\left(\left(\left(-Bh2\right) \cdot \ell\right) \cdot p - \left(2 \cdot Bh1\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(\left(2 \cdot Bh1\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot y\right) - \left(Bh2 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(2 \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) + \left(\left(\left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) - \left(\left(\left(2 \cdot Bh0\right) \cdot Bh1\right) \cdot a2\right) \cdot {p}^{2}}{c0 \cdot p} - \frac{c1 \cdot \left(\left(\left(-{a1}^{2}\right) \cdot \left(\left(-\left(\left(\left(-Bh1\right) \cdot \ell\right) \cdot p - Bh0 \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right) - \left(Bh1 \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot y\right) + \left(\left(\left(\left(2 \cdot Bh0\right) \cdot a1\right) \cdot p\right) \cdot \left(a1 - \left(Bh0 \cdot \ell\right) \cdot p\right)\right) \cdot \left(Bh0 \cdot y + 1\right)\right) - \left({Bh0}^{2} \cdot a2\right) \cdot {p}^{2}\right)}{{c0}^{2} \cdot p}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (a1 Bh2 l p Bh1 Bh0 y a2 c0 c1)
  :name "(- (/ (- (+ (+ (+ (* (- (pow a1 2)) (- (- (* (- (- (* (* (- Bh2) l) p) (* (* 2 Bh1) p))) (+ (* Bh0 y) 1)) (* (* (* 2 Bh1) (- (* (* (- Bh1) l) p) (* Bh0 p))) y)) (* (* Bh2 (- a1 (* (* Bh0 l) p))) y))) (* (* (* (* (* 2 Bh0) a1) p) (- (* (* (- Bh1) l) p) (* Bh0 p))) (+ (* Bh0 y) 1))) (* (* (* (* (* 2 Bh1) a1) p) (- a1 (* (* Bh0 l) p))) (+ (* Bh0 y) 1))) (* (* (* (* (* (* 2 Bh0) Bh1) a1) p) (- a1 (* (* Bh0 l) p))) y)) (* (* (* (* 2 Bh0) Bh1) a2) (pow p 2))) (* c0 p)) (/ (* c1 (- (+ (* (- (pow a1 2)) (- (* (- (- (* (* (- Bh1) l) p) (* Bh0 p))) (+ (* Bh0 y) 1)) (* (* Bh1 (- a1 (* (* Bh0 l) p))) y))) (* (* (* (* (* 2 Bh0) a1) p) (- a1 (* (* Bh0 l) p))) (+ (* Bh0 y) 1))) (* (* (pow Bh0 2) a2) (pow p 2)))) (* (pow c0 2) p)))"
  :precision binary64
  (- (/ (- (+ (+ (+ (* (neg (pow a1 2.0)) (- (- (* (neg (- (* (* (neg Bh2) l) p) (* (* 2.0 Bh1) p))) (+ (* Bh0 y) 1.0)) (* (* (* 2.0 Bh1) (- (* (* (neg Bh1) l) p) (* Bh0 p))) y)) (* (* Bh2 (- a1 (* (* Bh0 l) p))) y))) (* (* (* (* (* 2.0 Bh0) a1) p) (- (* (* (neg Bh1) l) p) (* Bh0 p))) (+ (* Bh0 y) 1.0))) (* (* (* (* (* 2.0 Bh1) a1) p) (- a1 (* (* Bh0 l) p))) (+ (* Bh0 y) 1.0))) (* (* (* (* (* (* 2.0 Bh0) Bh1) a1) p) (- a1 (* (* Bh0 l) p))) y)) (* (* (* (* 2.0 Bh0) Bh1) a2) (pow p 2.0))) (* c0 p)) (/ (* c1 (- (+ (* (neg (pow a1 2.0)) (- (* (neg (- (* (* (neg Bh1) l) p) (* Bh0 p))) (+ (* Bh0 y) 1.0)) (* (* Bh1 (- a1 (* (* Bh0 l) p))) y))) (* (* (* (* (* 2.0 Bh0) a1) p) (- a1 (* (* Bh0 l) p))) (+ (* Bh0 y) 1.0))) (* (* (pow Bh0 2.0) a2) (pow p 2.0)))) (* (pow c0 2.0) p))))