Average Error: 34.3 → 12.6
Time: 27.8s
Precision: 64
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
\[\begin{array}{l} \mathbf{if}\;b \le -7.94903992111146232901506129675699683521 \cdot 10^{114}:\\ \;\;\;\;\frac{\left(-b\right) + \left(1.5 \cdot \frac{a \cdot c}{b} - b\right)}{3 \cdot a}\\ \mathbf{elif}\;b \le -5.843373275880084863518676297297284980208 \cdot 10^{-209}:\\ \;\;\;\;\frac{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3}}{a}\\ \mathbf{elif}\;b \le 3.058537763442422466231303459928314802514 \cdot 10^{64}:\\ \;\;\;\;\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{a \cdot \frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\\ \mathbf{elif}\;b \le 6.107031321392312680053315278474894982897 \cdot 10^{157}:\\ \;\;\;\;\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(a \cdot \frac{\frac{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(3 \cdot a\right) \cdot c}{\left(-b\right) - \left(b - 1.5 \cdot \frac{a \cdot c}{b}\right)}}{3 \cdot a}\\ \end{array}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
\begin{array}{l}
\mathbf{if}\;b \le -7.94903992111146232901506129675699683521 \cdot 10^{114}:\\
\;\;\;\;\frac{\left(-b\right) + \left(1.5 \cdot \frac{a \cdot c}{b} - b\right)}{3 \cdot a}\\

\mathbf{elif}\;b \le -5.843373275880084863518676297297284980208 \cdot 10^{-209}:\\
\;\;\;\;\frac{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3}}{a}\\

\mathbf{elif}\;b \le 3.058537763442422466231303459928314802514 \cdot 10^{64}:\\
\;\;\;\;\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{a \cdot \frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\\

\mathbf{elif}\;b \le 6.107031321392312680053315278474894982897 \cdot 10^{157}:\\
\;\;\;\;\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(a \cdot \frac{\frac{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(3 \cdot a\right) \cdot c}{\left(-b\right) - \left(b - 1.5 \cdot \frac{a \cdot c}{b}\right)}}{3 \cdot a}\\

\end{array}
double f(double a, double b, double c) {
        double r195630 = b;
        double r195631 = -r195630;
        double r195632 = r195630 * r195630;
        double r195633 = 3.0;
        double r195634 = a;
        double r195635 = r195633 * r195634;
        double r195636 = c;
        double r195637 = r195635 * r195636;
        double r195638 = r195632 - r195637;
        double r195639 = sqrt(r195638);
        double r195640 = r195631 + r195639;
        double r195641 = r195640 / r195635;
        return r195641;
}

double f(double a, double b, double c) {
        double r195642 = b;
        double r195643 = -7.949039921111462e+114;
        bool r195644 = r195642 <= r195643;
        double r195645 = -r195642;
        double r195646 = 1.5;
        double r195647 = a;
        double r195648 = c;
        double r195649 = r195647 * r195648;
        double r195650 = r195649 / r195642;
        double r195651 = r195646 * r195650;
        double r195652 = r195651 - r195642;
        double r195653 = r195645 + r195652;
        double r195654 = 3.0;
        double r195655 = r195654 * r195647;
        double r195656 = r195653 / r195655;
        double r195657 = -5.843373275880085e-209;
        bool r195658 = r195642 <= r195657;
        double r195659 = r195642 * r195642;
        double r195660 = r195655 * r195648;
        double r195661 = r195659 - r195660;
        double r195662 = sqrt(r195661);
        double r195663 = r195662 - r195642;
        double r195664 = r195663 / r195654;
        double r195665 = r195664 / r195647;
        double r195666 = 3.0585377634424225e+64;
        bool r195667 = r195642 <= r195666;
        double r195668 = cbrt(r195654);
        double r195669 = r195668 * r195668;
        double r195670 = r195654 / r195669;
        double r195671 = r195645 - r195662;
        double r195672 = r195648 / r195671;
        double r195673 = r195647 * r195672;
        double r195674 = r195673 / r195668;
        double r195675 = r195674 / r195647;
        double r195676 = r195670 * r195675;
        double r195677 = 6.107031321392313e+157;
        bool r195678 = r195642 <= r195677;
        double r195679 = r195672 / r195668;
        double r195680 = r195679 / r195647;
        double r195681 = r195647 * r195680;
        double r195682 = r195670 * r195681;
        double r195683 = r195642 - r195651;
        double r195684 = r195645 - r195683;
        double r195685 = r195660 / r195684;
        double r195686 = r195685 / r195655;
        double r195687 = r195678 ? r195682 : r195686;
        double r195688 = r195667 ? r195676 : r195687;
        double r195689 = r195658 ? r195665 : r195688;
        double r195690 = r195644 ? r195656 : r195689;
        return r195690;
}

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. Split input into 5 regimes
  2. if b < -7.949039921111462e+114

    1. Initial program 50.8

      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
    2. Taylor expanded around -inf 10.8

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

    if -7.949039921111462e+114 < b < -5.843373275880085e-209

    1. Initial program 8.3

      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
    2. Simplified8.3

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

    if -5.843373275880085e-209 < b < 3.0585377634424225e+64

    1. Initial program 27.9

      \[\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.0

      \[\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. Simplified16.8

      \[\leadsto \frac{\frac{\color{blue}{\left(3 \cdot a\right) \cdot c + 0}}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3 \cdot a}\]
    5. Using strategy rm
    6. Applied associate-/r*16.9

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

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

      \[\leadsto \frac{\frac{\frac{3 \cdot \left(a \cdot c\right)}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3}}{\color{blue}{1 \cdot a}}\]
    10. Applied add-cube-cbrt17.0

      \[\leadsto \frac{\frac{\frac{3 \cdot \left(a \cdot c\right)}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\color{blue}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}}}}{1 \cdot a}\]
    11. Applied *-un-lft-identity17.0

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

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

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

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

      \[\leadsto \color{blue}{\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}}} \cdot \frac{\frac{\frac{a \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\]
    16. Using strategy rm
    17. Applied *-un-lft-identity17.0

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

      \[\leadsto \frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{\color{blue}{\frac{a}{1} \cdot \frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}}{\sqrt[3]{3}}}{a}\]
    19. Simplified14.7

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

    if 3.0585377634424225e+64 < b < 6.107031321392313e+157

    1. Initial program 46.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-+46.4

      \[\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. Simplified14.1

      \[\leadsto \frac{\frac{\color{blue}{\left(3 \cdot a\right) \cdot c + 0}}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3 \cdot a}\]
    5. Using strategy rm
    6. Applied associate-/r*14.1

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

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

      \[\leadsto \frac{\frac{\frac{3 \cdot \left(a \cdot c\right)}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3}}{\color{blue}{1 \cdot a}}\]
    10. Applied add-cube-cbrt14.1

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}}} \cdot \frac{\frac{\frac{a \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\]
    16. Using strategy rm
    17. Applied *-un-lft-identity14.1

      \[\leadsto \frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{\frac{a \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{\color{blue}{1 \cdot a}}\]
    18. Applied *-un-lft-identity14.1

      \[\leadsto \frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{\frac{a \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{\color{blue}{1 \cdot 3}}}}{1 \cdot a}\]
    19. Applied cbrt-prod14.1

      \[\leadsto \frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{\frac{a \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\color{blue}{\sqrt[3]{1} \cdot \sqrt[3]{3}}}}{1 \cdot a}\]
    20. Applied *-un-lft-identity14.1

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

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

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

      \[\leadsto \frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \color{blue}{\left(\frac{\frac{\frac{a}{1}}{\sqrt[3]{1}}}{1} \cdot \frac{\frac{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\right)}\]
    24. Simplified16.8

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

    if 6.107031321392313e+157 < b

    1. Initial program 64.0

      \[\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-+64.0

      \[\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. Simplified37.2

      \[\leadsto \frac{\frac{\color{blue}{\left(3 \cdot a\right) \cdot c + 0}}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3 \cdot a}\]
    5. Taylor expanded around inf 13.9

      \[\leadsto \frac{\frac{\left(3 \cdot a\right) \cdot c + 0}{\left(-b\right) - \color{blue}{\left(b - 1.5 \cdot \frac{a \cdot c}{b}\right)}}}{3 \cdot a}\]
  3. Recombined 5 regimes into one program.
  4. Final simplification12.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -7.94903992111146232901506129675699683521 \cdot 10^{114}:\\ \;\;\;\;\frac{\left(-b\right) + \left(1.5 \cdot \frac{a \cdot c}{b} - b\right)}{3 \cdot a}\\ \mathbf{elif}\;b \le -5.843373275880084863518676297297284980208 \cdot 10^{-209}:\\ \;\;\;\;\frac{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3}}{a}\\ \mathbf{elif}\;b \le 3.058537763442422466231303459928314802514 \cdot 10^{64}:\\ \;\;\;\;\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{a \cdot \frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\\ \mathbf{elif}\;b \le 6.107031321392312680053315278474894982897 \cdot 10^{157}:\\ \;\;\;\;\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(a \cdot \frac{\frac{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{\sqrt[3]{3}}}{a}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(3 \cdot a\right) \cdot c}{\left(-b\right) - \left(b - 1.5 \cdot \frac{a \cdot c}{b}\right)}}{3 \cdot a}\\ \end{array}\]

Reproduce

herbie shell --seed 2019323 
(FPCore (a b c)
  :name "Cubic critical"
  :precision binary64
  (/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)))