Average Error: 0.7 → 0.7
Time: 4.3s
Precision: binary64
\[\frac{-\left(\left(\left(\left(\left(\left(\left(\left(-63\right) + 63 \cdot c\right) + \left(1512 - 1512 \cdot c\right) \cdot {u}^{2}\right) + \left(15120 \cdot c - 15120\right) \cdot {u}^{4}\right) + \left(80640 - 80640 \cdot c\right) \cdot {u}^{6}\right) + \left(241920 \cdot c - 241920\right) \cdot {u}^{8}\right) + \left(387072 - 387072 \cdot c\right) \cdot {u}^{10}\right) + \left(258048 \cdot c - 258048\right) \cdot {u}^{12}\right)}{512}\]
\[\frac{-\left(\left(\left(\left(\left(\left(\left(\left(-63\right) + 63 \cdot c\right) + \left(1512 - 1512 \cdot c\right) \cdot {u}^{2}\right) + \left(15120 \cdot c - 15120\right) \cdot {u}^{4}\right) + \left(80640 - 80640 \cdot c\right) \cdot {u}^{6}\right) + \left(241920 \cdot c - 241920\right) \cdot {u}^{8}\right) + \left(387072 - 387072 \cdot c\right) \cdot {u}^{10}\right) + \left(258048 \cdot c - 258048\right) \cdot {u}^{12}\right)}{512}\]

Error

Bits error versus c

Bits error versus u

Derivation

  1. Initial program 0.7

    \[\frac{-\left(\left(\left(\left(\left(\left(\left(\left(-63\right) + 63 \cdot c\right) + \left(1512 - 1512 \cdot c\right) \cdot {u}^{2}\right) + \left(15120 \cdot c - 15120\right) \cdot {u}^{4}\right) + \left(80640 - 80640 \cdot c\right) \cdot {u}^{6}\right) + \left(241920 \cdot c - 241920\right) \cdot {u}^{8}\right) + \left(387072 - 387072 \cdot c\right) \cdot {u}^{10}\right) + \left(258048 \cdot c - 258048\right) \cdot {u}^{12}\right)}{512}\]
  2. Final simplification0.7

    \[\leadsto \frac{-\left(\left(\left(\left(\left(\left(\left(\left(-63\right) + 63 \cdot c\right) + \left(1512 - 1512 \cdot c\right) \cdot {u}^{2}\right) + \left(15120 \cdot c - 15120\right) \cdot {u}^{4}\right) + \left(80640 - 80640 \cdot c\right) \cdot {u}^{6}\right) + \left(241920 \cdot c - 241920\right) \cdot {u}^{8}\right) + \left(387072 - 387072 \cdot c\right) \cdot {u}^{10}\right) + \left(258048 \cdot c - 258048\right) \cdot {u}^{12}\right)}{512}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (c u)
  :name "(/ (- (+ (+ (+ (+ (+ (+ (+ (- 63) (* 63 c)) (* (- 1512 (* 1512 c)) (pow u 2))) (* (- (* 15120 c) 15120) (pow u 4))) (* (- 80640 (* 80640 c)) (pow u 6))) (* (- (* 241920 c) 241920) (pow u 8))) (* (- 387072 (* 387072 c)) (pow u 10))) (* (- (* 258048 c) 258048) (pow u 12)))) 512)"
  :precision binary64
  (/ (neg (+ (+ (+ (+ (+ (+ (+ (neg 63.0) (* 63.0 c)) (* (- 1512.0 (* 1512.0 c)) (pow u 2.0))) (* (- (* 15120.0 c) 15120.0) (pow u 4.0))) (* (- 80640.0 (* 80640.0 c)) (pow u 6.0))) (* (- (* 241920.0 c) 241920.0) (pow u 8.0))) (* (- 387072.0 (* 387072.0 c)) (pow u 10.0))) (* (- (* 258048.0 c) 258048.0) (pow u 12.0)))) 512.0))