Average Error: 56.3 → 56.3
Time: 38.6s
Precision: binary64
\[\left(\frac{2}{3} \cdot \sqrt{\frac{{b}^{2} - \left(3 \cdot a\right) \cdot c}{{a}^{2}}}\right) \cdot \cos \left(\frac{1}{3} \cdot \cos^{-1} \left(\frac{\sqrt{\frac{-{a}^{6}}{{\left(3 \cdot ac - {b}^{2}\right)}^{3}}} \cdot \left(\left(27 \cdot \left({a}^{2} \cdot d\right) - 9 \cdot abc\right) + 2 \cdot {b}^{3}\right)}{2 \cdot {a}^{3}}\right)\right) - \frac{ab}{3}\]
\[\left(\frac{2}{3} \cdot \sqrt{\frac{{b}^{2} - \left(3 \cdot a\right) \cdot c}{{a}^{2}}}\right) \cdot \cos \left(\frac{1}{3} \cdot \cos^{-1} \left(\frac{\sqrt{\frac{-{a}^{6}}{{\left(3 \cdot ac - {b}^{2}\right)}^{3}}} \cdot \left(\left(27 \cdot \left({a}^{2} \cdot d\right) - 9 \cdot abc\right) + 2 \cdot {b}^{3}\right)}{2 \cdot {a}^{3}}\right)\right) - \frac{ab}{3}\]

Error

Bits error versus b

Bits error versus a

Bits error versus c

Bits error versus ac

Bits error versus d

Bits error versus abc

Bits error versus ab

Derivation

  1. Initial program 56.3

    \[\left(\frac{2}{3} \cdot \sqrt{\frac{{b}^{2} - \left(3 \cdot a\right) \cdot c}{{a}^{2}}}\right) \cdot \cos \left(\frac{1}{3} \cdot \cos^{-1} \left(\frac{\sqrt{\frac{-{a}^{6}}{{\left(3 \cdot ac - {b}^{2}\right)}^{3}}} \cdot \left(\left(27 \cdot \left({a}^{2} \cdot d\right) - 9 \cdot abc\right) + 2 \cdot {b}^{3}\right)}{2 \cdot {a}^{3}}\right)\right) - \frac{ab}{3}\]
  2. Final simplification56.3

    \[\leadsto \left(\frac{2}{3} \cdot \sqrt{\frac{{b}^{2} - \left(3 \cdot a\right) \cdot c}{{a}^{2}}}\right) \cdot \cos \left(\frac{1}{3} \cdot \cos^{-1} \left(\frac{\sqrt{\frac{-{a}^{6}}{{\left(3 \cdot ac - {b}^{2}\right)}^{3}}} \cdot \left(\left(27 \cdot \left({a}^{2} \cdot d\right) - 9 \cdot abc\right) + 2 \cdot {b}^{3}\right)}{2 \cdot {a}^{3}}\right)\right) - \frac{ab}{3}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (b a c ac d abc ab)
  :name "(- (* (* (/ 2 3) (sqrt (/ (- (pow b 2) (* (* 3 a) c)) (pow a 2)))) (cos (* (/ 1 3) (acos (/ (* (sqrt (/ (- (pow a 6)) (pow (- (* 3 ac) (pow b 2)) 3))) (+ (- (* 27 (* (pow a 2) d)) (* 9 abc)) (* 2 (pow b 3)))) (* 2 (pow a 3))))))) (/ ab 3))"
  :precision binary64
  (- (* (* (/ 2.0 3.0) (sqrt (/ (- (pow b 2.0) (* (* 3.0 a) c)) (pow a 2.0)))) (cos (* (/ 1.0 3.0) (acos (/ (* (sqrt (/ (neg (pow a 6.0)) (pow (- (* 3.0 ac) (pow b 2.0)) 3.0))) (+ (- (* 27.0 (* (pow a 2.0) d)) (* 9.0 abc)) (* 2.0 (pow b 3.0)))) (* 2.0 (pow a 3.0))))))) (/ ab 3.0)))