Average Error: 52.7 → 52.7
Time: 17.3s
Precision: 64
Internal Precision: 832
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(\sqrt[3]{a \cdot \left(3 \cdot c\right)} \cdot \sqrt[3]{a \cdot \left(3 \cdot c\right)}\right) \cdot \sqrt[3]{\left(a \cdot c\right) \cdot 3}}}{3 \cdot a}\]

Error

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus d

Derivation

  1. Initial program 52.7

    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
  2. Using strategy rm
  3. Applied add-exp-log52.7

    \[\leadsto \frac{\left(-b\right) + \sqrt{b \cdot b - \color{blue}{e^{\log \left(\left(3 \cdot a\right) \cdot c\right)}}}}{3 \cdot a}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt52.7

    \[\leadsto \frac{\left(-b\right) + \sqrt{b \cdot b - \color{blue}{\left(\sqrt[3]{e^{\log \left(\left(3 \cdot a\right) \cdot c\right)}} \cdot \sqrt[3]{e^{\log \left(\left(3 \cdot a\right) \cdot c\right)}}\right) \cdot \sqrt[3]{e^{\log \left(\left(3 \cdot a\right) \cdot c\right)}}}}}{3 \cdot a}\]
  6. Applied simplify52.7

    \[\leadsto \frac{\left(-b\right) + \sqrt{b \cdot b - \color{blue}{\left(\sqrt[3]{a \cdot \left(3 \cdot c\right)} \cdot \sqrt[3]{a \cdot \left(3 \cdot c\right)}\right)} \cdot \sqrt[3]{e^{\log \left(\left(3 \cdot a\right) \cdot c\right)}}}}{3 \cdot a}\]
  7. Applied simplify52.7

    \[\leadsto \frac{\left(-b\right) + \sqrt{b \cdot b - \left(\sqrt[3]{a \cdot \left(3 \cdot c\right)} \cdot \sqrt[3]{a \cdot \left(3 \cdot c\right)}\right) \cdot \color{blue}{\sqrt[3]{\left(a \cdot c\right) \cdot 3}}}}{3 \cdot a}\]

Runtime

Time bar (total: 17.3s)Debug logProfile

herbie shell --seed '#(1071979731 1496239409 439705970 2863295848 982327776 189749553)' 
(FPCore (a b c d)
  :name "Cubic critical, wide range"
  :pre (and (< 4.930380657631324e-32 a 2.028240960365167e+31) (< 4.930380657631324e-32 b 2.028240960365167e+31) (< 4.930380657631324e-32 c 2.028240960365167e+31))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)))