Average Error: 0.3 → 0.3
Time: 3.8s
Precision: binary64
\[b + \frac{x}{6} \cdot \left(\left(\left(\left(\left(\left(-{x}^{2}\right) + 3 \cdot x\right) - 2\right) \cdot a + \left(3 \cdot \left(\left({x}^{2} - 2 \cdot x\right) - 1\right)\right) \cdot b\right) + \left(3 \cdot \left(\left(\left(-{x}^{2}\right) + x\right) + 2\right)\right) \cdot c\right) + \left({x}^{2} - 1\right) \cdot d\right)\]
\[b + \frac{x}{6} \cdot \left(\left(\left(\left(\left(\left(-{x}^{2}\right) + 3 \cdot x\right) - 2\right) \cdot a + \left(3 \cdot \left(\left({x}^{2} - 2 \cdot x\right) - 1\right)\right) \cdot b\right) + \left(3 \cdot \left(\left(\left(-{x}^{2}\right) + x\right) + 2\right)\right) \cdot c\right) + \left({x}^{2} - 1\right) \cdot d\right)\]

Error

Bits error versus b

Bits error versus x

Bits error versus a

Bits error versus c

Bits error versus d

Derivation

  1. Initial program 0.3

    \[b + \frac{x}{6} \cdot \left(\left(\left(\left(\left(\left(-{x}^{2}\right) + 3 \cdot x\right) - 2\right) \cdot a + \left(3 \cdot \left(\left({x}^{2} - 2 \cdot x\right) - 1\right)\right) \cdot b\right) + \left(3 \cdot \left(\left(\left(-{x}^{2}\right) + x\right) + 2\right)\right) \cdot c\right) + \left({x}^{2} - 1\right) \cdot d\right)\]
  2. Final simplification0.3

    \[\leadsto b + \frac{x}{6} \cdot \left(\left(\left(\left(\left(\left(-{x}^{2}\right) + 3 \cdot x\right) - 2\right) \cdot a + \left(3 \cdot \left(\left({x}^{2} - 2 \cdot x\right) - 1\right)\right) \cdot b\right) + \left(3 \cdot \left(\left(\left(-{x}^{2}\right) + x\right) + 2\right)\right) \cdot c\right) + \left({x}^{2} - 1\right) \cdot d\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (b x a c d)
  :name "(+ b (* (/ x 6.0) (+ (+ (+ (* (- (+ (- (pow x 2)) (* 3.0 x)) 2.0) a) (* (* 3.0 (- (- (pow x 2) (* 2.0 x)) 1.0)) b)) (* (* 3.0 (+ (+ (- (pow x 2)) x) 2.0)) c)) (* (- (pow x 2) 1.0) d))))"
  :precision binary64
  (+ b (* (/ x 6.0) (+ (+ (+ (* (- (+ (neg (pow x 2.0)) (* 3.0 x)) 2.0) a) (* (* 3.0 (- (- (pow x 2.0) (* 2.0 x)) 1.0)) b)) (* (* 3.0 (+ (+ (neg (pow x 2.0)) x) 2.0)) c)) (* (- (pow x 2.0) 1.0) d)))))