Average Error: 28.4 → 0.3
Time: 20.3s
Precision: 64
\[1.05367121277235087 \cdot 10^{-8} \lt a \lt 94906265.6242515594 \land 1.05367121277235087 \cdot 10^{-8} \lt b \lt 94906265.6242515594 \land 1.05367121277235087 \cdot 10^{-8} \lt c \lt 94906265.6242515594\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
\[-\frac{3 \cdot a}{\frac{-3 \cdot a}{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \sqrt[3]{\left(\left(\left(3 \cdot a\right) \cdot c\right) \cdot \left(\left(3 \cdot a\right) \cdot c\right)\right) \cdot \left(\left(3 \cdot a\right) \cdot c\right)}}}}}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
-\frac{3 \cdot a}{\frac{-3 \cdot a}{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \sqrt[3]{\left(\left(\left(3 \cdot a\right) \cdot c\right) \cdot \left(\left(3 \cdot a\right) \cdot c\right)\right) \cdot \left(\left(3 \cdot a\right) \cdot c\right)}}}}}
double f(double a, double b, double c) {
        double r174577 = b;
        double r174578 = -r174577;
        double r174579 = r174577 * r174577;
        double r174580 = 3.0;
        double r174581 = a;
        double r174582 = r174580 * r174581;
        double r174583 = c;
        double r174584 = r174582 * r174583;
        double r174585 = r174579 - r174584;
        double r174586 = sqrt(r174585);
        double r174587 = r174578 + r174586;
        double r174588 = r174587 / r174582;
        return r174588;
}

double f(double a, double b, double c) {
        double r174589 = 3.0;
        double r174590 = a;
        double r174591 = r174589 * r174590;
        double r174592 = -r174591;
        double r174593 = c;
        double r174594 = b;
        double r174595 = -r174594;
        double r174596 = r174594 * r174594;
        double r174597 = r174591 * r174593;
        double r174598 = r174597 * r174597;
        double r174599 = r174598 * r174597;
        double r174600 = cbrt(r174599);
        double r174601 = r174596 - r174600;
        double r174602 = sqrt(r174601);
        double r174603 = r174595 - r174602;
        double r174604 = r174593 / r174603;
        double r174605 = r174592 / r174604;
        double r174606 = r174591 / r174605;
        double r174607 = -r174606;
        return r174607;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 28.4

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

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

    \[\leadsto \frac{\frac{\color{blue}{\left({b}^{2} - {b}^{2}\right) + 3 \cdot \left(a \cdot c\right)}}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3 \cdot a}\]
  5. Using strategy rm
  6. Applied frac-2neg0.6

    \[\leadsto \color{blue}{\frac{-\frac{\left({b}^{2} - {b}^{2}\right) + 3 \cdot \left(a \cdot c\right)}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{-3 \cdot a}}\]
  7. Simplified0.5

    \[\leadsto \frac{\color{blue}{\frac{-\left(3 \cdot a\right) \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}}{-3 \cdot a}\]
  8. Using strategy rm
  9. Applied *-un-lft-identity0.5

    \[\leadsto \frac{\frac{-\left(3 \cdot a\right) \cdot c}{\color{blue}{1 \cdot \left(\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}}}{-3 \cdot a}\]
  10. Applied distribute-lft-neg-in0.5

    \[\leadsto \frac{\frac{\color{blue}{\left(-3 \cdot a\right) \cdot c}}{1 \cdot \left(\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}}{-3 \cdot a}\]
  11. Applied times-frac0.3

    \[\leadsto \frac{\color{blue}{\frac{-3 \cdot a}{1} \cdot \frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}}{-3 \cdot a}\]
  12. Applied associate-/l*0.3

    \[\leadsto \color{blue}{\frac{\frac{-3 \cdot a}{1}}{\frac{-3 \cdot a}{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}}}\]
  13. Using strategy rm
  14. Applied add-cbrt-cube0.3

    \[\leadsto \frac{\frac{-3 \cdot a}{1}}{\frac{-3 \cdot a}{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \color{blue}{\sqrt[3]{\left(\left(\left(3 \cdot a\right) \cdot c\right) \cdot \left(\left(3 \cdot a\right) \cdot c\right)\right) \cdot \left(\left(3 \cdot a\right) \cdot c\right)}}}}}}\]
  15. Final simplification0.3

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

Reproduce

herbie shell --seed 2020060 
(FPCore (a b c)
  :name "Cubic critical, narrow range"
  :precision binary64
  :pre (and (< 1.0536712127723509e-08 a 94906265.62425156) (< 1.0536712127723509e-08 b 94906265.62425156) (< 1.0536712127723509e-08 c 94906265.62425156))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)))