Average Error: 0.6 → 0.5
Time: 7.2m
Precision: 64
Internal Precision: 384
\[0.0 + \left(\left(\left(w0 \cdot \left(0 - m0\right)\right) \cdot \left(-3 \cdot \left(\left(1 \cdot \frac{a0}{w0}\right) \cdot \frac{a0}{w0}\right)\right)\right) \cdot 1 + \left(\left(\left(w1 \cdot \left(0 - m1\right)\right) \cdot \left(-3 \cdot \left(\left(1 \cdot \frac{a1}{w1}\right) \cdot \frac{a1}{w1}\right)\right)\right) \cdot 1 + \left(\left(\left(w2 \cdot \left(0 - m2\right)\right) \cdot \left(-3 \cdot \left(\left(1 \cdot \frac{a2}{w2}\right) \cdot \frac{a2}{w2}\right)\right)\right) \cdot 1 + 0.0\right)\right)\right)\]
\[\left(\left(\left(m0 \cdot -3\right) \cdot \left(-w0\right)\right) \cdot \left(\frac{a0}{w0} \cdot \frac{a0}{w0}\right) + \left(0.0 + 0.0\right)\right) + \left(\frac{a1}{w1} \cdot \left(\left(\frac{a1}{1} \cdot \left(-m1\right)\right) \cdot -3\right) + \left(\left(-m2\right) \cdot \left(-3 \cdot \frac{a2}{1}\right)\right) \cdot \frac{a2}{w2}\right)\]

Error

Bits error versus m0

Bits error versus m1

Bits error versus m2

Bits error versus w0

Bits error versus w1

Bits error versus w2

Bits error versus a0

Bits error versus a1

Bits error versus a2

Derivation

  1. Initial program 0.6

    \[0.0 + \left(\left(\left(w0 \cdot \left(0 - m0\right)\right) \cdot \left(-3 \cdot \left(\left(1 \cdot \frac{a0}{w0}\right) \cdot \frac{a0}{w0}\right)\right)\right) \cdot 1 + \left(\left(\left(w1 \cdot \left(0 - m1\right)\right) \cdot \left(-3 \cdot \left(\left(1 \cdot \frac{a1}{w1}\right) \cdot \frac{a1}{w1}\right)\right)\right) \cdot 1 + \left(\left(\left(w2 \cdot \left(0 - m2\right)\right) \cdot \left(-3 \cdot \left(\left(1 \cdot \frac{a2}{w2}\right) \cdot \frac{a2}{w2}\right)\right)\right) \cdot 1 + 0.0\right)\right)\right)\]
  2. Applied simplify0.6

    \[\leadsto \color{blue}{\left(\left(\left(m0 \cdot -3\right) \cdot \left(-w0\right)\right) \cdot \left(\frac{a0}{w0} \cdot \frac{a0}{w0}\right) + \left(0.0 + 0.0\right)\right) + \left(\left(\frac{a1}{w1} \cdot \frac{a1}{w1}\right) \cdot \left(\left(-w1\right) \cdot \left(m1 \cdot -3\right)\right) + \left(\left(w2 \cdot m2\right) \cdot \left(--3\right)\right) \cdot \left(\frac{a2}{w2} \cdot \frac{a2}{w2}\right)\right)}\]
  3. Using strategy rm
  4. Applied associate-*l*0.6

    \[\leadsto \left(\left(\left(m0 \cdot -3\right) \cdot \left(-w0\right)\right) \cdot \left(\frac{a0}{w0} \cdot \frac{a0}{w0}\right) + \left(0.0 + 0.0\right)\right) + \left(\color{blue}{\frac{a1}{w1} \cdot \left(\frac{a1}{w1} \cdot \left(\left(-w1\right) \cdot \left(m1 \cdot -3\right)\right)\right)} + \left(\left(w2 \cdot m2\right) \cdot \left(--3\right)\right) \cdot \left(\frac{a2}{w2} \cdot \frac{a2}{w2}\right)\right)\]
  5. Applied simplify0.6

    \[\leadsto \left(\left(\left(m0 \cdot -3\right) \cdot \left(-w0\right)\right) \cdot \left(\frac{a0}{w0} \cdot \frac{a0}{w0}\right) + \left(0.0 + 0.0\right)\right) + \left(\frac{a1}{w1} \cdot \color{blue}{\left(\left(\frac{a1}{1} \cdot \left(-m1\right)\right) \cdot -3\right)} + \left(\left(w2 \cdot m2\right) \cdot \left(--3\right)\right) \cdot \left(\frac{a2}{w2} \cdot \frac{a2}{w2}\right)\right)\]
  6. Using strategy rm
  7. Applied associate-*r*0.6

    \[\leadsto \left(\left(\left(m0 \cdot -3\right) \cdot \left(-w0\right)\right) \cdot \left(\frac{a0}{w0} \cdot \frac{a0}{w0}\right) + \left(0.0 + 0.0\right)\right) + \left(\frac{a1}{w1} \cdot \left(\left(\frac{a1}{1} \cdot \left(-m1\right)\right) \cdot -3\right) + \color{blue}{\left(\left(\left(w2 \cdot m2\right) \cdot \left(--3\right)\right) \cdot \frac{a2}{w2}\right) \cdot \frac{a2}{w2}}\right)\]
  8. Applied simplify0.5

    \[\leadsto \left(\left(\left(m0 \cdot -3\right) \cdot \left(-w0\right)\right) \cdot \left(\frac{a0}{w0} \cdot \frac{a0}{w0}\right) + \left(0.0 + 0.0\right)\right) + \left(\frac{a1}{w1} \cdot \left(\left(\frac{a1}{1} \cdot \left(-m1\right)\right) \cdot -3\right) + \color{blue}{\left(\left(-m2\right) \cdot \left(-3 \cdot \frac{a2}{1}\right)\right)} \cdot \frac{a2}{w2}\right)\]

Runtime

Time bar (total: 7.2m)Debug log

herbie shell --seed '#(1743936871 1855164119 3668777427 1254258049 132811564 1366975197)' 
(FPCore (m0 m1 m2 w0 w1 w2 a0 a1 a2)
  :name "test04_dqmom9"
  :pre (and (< -1 m0 1) (< -1 m1 1) (< -1 m2 1) (< 1e-05 w0 1) (< 1e-05 w1 1) (< 1e-05 w2 1) (< 1e-05 a0 1) (< 1e-05 a1 1) (< 1e-05 a2 1))
  (+ 0.0 (+ (* (* (* w0 (- 0 m0)) (* -3 (* (* 1 (/ a0 w0)) (/ a0 w0)))) 1) (+ (* (* (* w1 (- 0 m1)) (* -3 (* (* 1 (/ a1 w1)) (/ a1 w1)))) 1) (+ (* (* (* w2 (- 0 m2)) (* -3 (* (* 1 (/ a2 w2)) (/ a2 w2)))) 1) 0.0)))))