Average Error: 20.1 → 7.8
Time: 16.1s
Precision: 64
\[\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \end{array}\]
\[\begin{array}{l} \mathbf{if}\;b \le -3.694599013474429692184066721366005417629 \cdot 10^{74}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\frac{\left(b \cdot b - b \cdot b\right) + 4 \cdot \left(c \cdot a\right)}{\sqrt{b \cdot b - 4 \cdot \left(c \cdot a\right)} + \left(-b\right)}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c \cdot 2}{\frac{\sqrt[3]{c} \cdot \left(\left(2 \cdot a\right) \cdot \sqrt[3]{c}\right)}{\frac{b}{\sqrt[3]{c}}} + b \cdot -2}\\ \end{array}\\ \mathbf{elif}\;b \le 5.976560529058750190041758629702039537637 \cdot 10^{77}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - c \cdot \left(4 \cdot a\right)}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c \cdot 2}{\left(\sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}}\right) \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} + \left(-b\right)}\\ \end{array}\\ \mathbf{elif}\;b \ge 0.0:\\ \;\;\;\;\frac{\frac{2 \cdot a}{\frac{b}{c}} + b \cdot -2}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c \cdot 2}{\left(-b\right) + \sqrt{b \cdot b - c \cdot \left(4 \cdot a\right)}}\\ \end{array}\]
\begin{array}{l}
\mathbf{if}\;b \ge 0.0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\

\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\

\end{array}
\begin{array}{l}
\mathbf{if}\;b \le -3.694599013474429692184066721366005417629 \cdot 10^{74}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0.0:\\
\;\;\;\;\frac{\frac{\left(b \cdot b - b \cdot b\right) + 4 \cdot \left(c \cdot a\right)}{\sqrt{b \cdot b - 4 \cdot \left(c \cdot a\right)} + \left(-b\right)}}{2 \cdot a}\\

\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{\frac{\sqrt[3]{c} \cdot \left(\left(2 \cdot a\right) \cdot \sqrt[3]{c}\right)}{\frac{b}{\sqrt[3]{c}}} + b \cdot -2}\\

\end{array}\\

\mathbf{elif}\;b \le 5.976560529058750190041758629702039537637 \cdot 10^{77}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0.0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - c \cdot \left(4 \cdot a\right)}}{2 \cdot a}\\

\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{\left(\sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}}\right) \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} + \left(-b\right)}\\

\end{array}\\

\mathbf{elif}\;b \ge 0.0:\\
\;\;\;\;\frac{\frac{2 \cdot a}{\frac{b}{c}} + b \cdot -2}{2 \cdot a}\\

\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{\left(-b\right) + \sqrt{b \cdot b - c \cdot \left(4 \cdot a\right)}}\\

\end{array}
double f(double a, double b, double c) {
        double r38938 = b;
        double r38939 = 0.0;
        bool r38940 = r38938 >= r38939;
        double r38941 = -r38938;
        double r38942 = r38938 * r38938;
        double r38943 = 4.0;
        double r38944 = a;
        double r38945 = r38943 * r38944;
        double r38946 = c;
        double r38947 = r38945 * r38946;
        double r38948 = r38942 - r38947;
        double r38949 = sqrt(r38948);
        double r38950 = r38941 - r38949;
        double r38951 = 2.0;
        double r38952 = r38951 * r38944;
        double r38953 = r38950 / r38952;
        double r38954 = r38951 * r38946;
        double r38955 = r38941 + r38949;
        double r38956 = r38954 / r38955;
        double r38957 = r38940 ? r38953 : r38956;
        return r38957;
}

double f(double a, double b, double c) {
        double r38958 = b;
        double r38959 = -3.6945990134744297e+74;
        bool r38960 = r38958 <= r38959;
        double r38961 = 0.0;
        bool r38962 = r38958 >= r38961;
        double r38963 = r38958 * r38958;
        double r38964 = r38963 - r38963;
        double r38965 = 4.0;
        double r38966 = c;
        double r38967 = a;
        double r38968 = r38966 * r38967;
        double r38969 = r38965 * r38968;
        double r38970 = r38964 + r38969;
        double r38971 = r38963 - r38969;
        double r38972 = sqrt(r38971);
        double r38973 = -r38958;
        double r38974 = r38972 + r38973;
        double r38975 = r38970 / r38974;
        double r38976 = 2.0;
        double r38977 = r38976 * r38967;
        double r38978 = r38975 / r38977;
        double r38979 = r38966 * r38976;
        double r38980 = cbrt(r38966);
        double r38981 = r38977 * r38980;
        double r38982 = r38980 * r38981;
        double r38983 = r38958 / r38980;
        double r38984 = r38982 / r38983;
        double r38985 = -2.0;
        double r38986 = r38958 * r38985;
        double r38987 = r38984 + r38986;
        double r38988 = r38979 / r38987;
        double r38989 = r38962 ? r38978 : r38988;
        double r38990 = 5.97656052905875e+77;
        bool r38991 = r38958 <= r38990;
        double r38992 = r38965 * r38967;
        double r38993 = r38966 * r38992;
        double r38994 = r38963 - r38993;
        double r38995 = sqrt(r38994);
        double r38996 = r38973 - r38995;
        double r38997 = r38996 / r38977;
        double r38998 = r38966 * r38965;
        double r38999 = r38998 * r38967;
        double r39000 = r38963 - r38999;
        double r39001 = sqrt(r39000);
        double r39002 = cbrt(r39001);
        double r39003 = r39002 * r39002;
        double r39004 = r39003 * r39002;
        double r39005 = r39004 + r38973;
        double r39006 = r38979 / r39005;
        double r39007 = r38962 ? r38997 : r39006;
        double r39008 = r38958 / r38966;
        double r39009 = r38977 / r39008;
        double r39010 = r39009 + r38986;
        double r39011 = r39010 / r38977;
        double r39012 = r38973 + r38995;
        double r39013 = r38979 / r39012;
        double r39014 = r38962 ? r39011 : r39013;
        double r39015 = r38991 ? r39007 : r39014;
        double r39016 = r38960 ? r38989 : r39015;
        return r39016;
}

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 3 regimes
  2. if b < -3.6945990134744297e+74

    1. Initial program 28.0

      \[\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \end{array}\]
    2. Taylor expanded around -inf 7.2

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{2 \cdot c}{2 \cdot \frac{a \cdot c}{b} - 2 \cdot b}}\\ \end{array}\]
    3. Simplified3.7

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\color{blue}{\frac{2 \cdot c}{b \cdot -2 + \frac{2 \cdot a}{\frac{b}{c}}}}\\ \end{array}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt3.7

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{b \cdot -2 + \frac{2 \cdot a}{\color{blue}{\frac{b}{\left(\sqrt[3]{c} \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}}}}\\ \end{array}\]
    6. Applied *-un-lft-identity3.7

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{b \cdot -2 + \frac{\color{blue}{2 \cdot a}}{\frac{1 \cdot b}{\left(\sqrt[3]{c} \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}}}\\ \end{array}\]
    7. Applied times-frac3.7

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{b \cdot -2 + \color{blue}{\frac{2 \cdot a}{\frac{1}{\sqrt[3]{c} \cdot \sqrt[3]{c}} \cdot \frac{b}{\sqrt[3]{c}}}}}\\ \end{array}\]
    8. Applied associate-/r*5.3

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{b \cdot -2 + \frac{\frac{2 \cdot a}{\frac{1}{\sqrt[3]{c} \cdot \sqrt[3]{c}}}}{\frac{b}{\sqrt[3]{c}}}}}\\ \end{array}\]
    9. Simplified5.3

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{b \cdot -2} + \frac{\left(\left(a \cdot 2\right) \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}{\frac{b}{\sqrt[3]{c}}}}\\ \end{array}\]
    10. Using strategy rm
    11. Applied flip--5.3

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\color{blue}{\frac{\left(-b\right) \cdot \left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c} \cdot \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{b \cdot -2 + \frac{\left(\left(a \cdot 2\right) \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}{\frac{b}{\sqrt[3]{c}}}}\\ \end{array}\]
    12. Simplified5.3

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\frac{\color{blue}{\left(b \cdot b - b \cdot b\right) + 4 \cdot \left(a \cdot c\right)}}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{b \cdot -2 + \frac{\left(\left(a \cdot 2\right) \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}{\frac{b}{\sqrt[3]{c}}}}\\ \end{array}\]
    13. Simplified5.3

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\frac{\left(b \cdot b - b \cdot b\right) + 4 \cdot \left(a \cdot c\right)}{\color{blue}{\left(-b\right) + \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}}}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{b \cdot -2 + \frac{\left(\left(a \cdot 2\right) \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}{\frac{b}{\sqrt[3]{c}}}}\\ \end{array}\]

    if -3.6945990134744297e+74 < b < 5.97656052905875e+77

    1. Initial program 9.4

      \[\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \end{array}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt9.9

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{\left(-b\right) + \left(\sqrt[3]{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}} \cdot \sqrt[3]{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\right) \cdot \sqrt[3]{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}}\\ \end{array}\]
    4. Simplified9.9

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\color{blue}{\left(-b\right)} + \left(\sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}}\right) \cdot \sqrt[3]{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}\\ \end{array}\]
    5. Simplified9.8

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \color{blue}{\left(\sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}}\right) \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}}}}\\ \end{array}\]

    if 5.97656052905875e+77 < b

    1. Initial program 42.5

      \[\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \end{array}\]
    2. Taylor expanded around inf 11.1

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\color{blue}{2 \cdot \frac{a \cdot c}{b} - 2 \cdot b}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \end{array}\]
    3. Simplified5.0

      \[\leadsto \begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\color{blue}{b \cdot -2 + \frac{2 \cdot a}{\frac{b}{c}}}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\ \end{array}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification7.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -3.694599013474429692184066721366005417629 \cdot 10^{74}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\frac{\left(b \cdot b - b \cdot b\right) + 4 \cdot \left(c \cdot a\right)}{\sqrt{b \cdot b - 4 \cdot \left(c \cdot a\right)} + \left(-b\right)}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c \cdot 2}{\frac{\sqrt[3]{c} \cdot \left(\left(2 \cdot a\right) \cdot \sqrt[3]{c}\right)}{\frac{b}{\sqrt[3]{c}}} + b \cdot -2}\\ \end{array}\\ \mathbf{elif}\;b \le 5.976560529058750190041758629702039537637 \cdot 10^{77}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;b \ge 0.0:\\ \;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - c \cdot \left(4 \cdot a\right)}}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c \cdot 2}{\left(\sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}}\right) \cdot \sqrt[3]{\sqrt{b \cdot b - \left(c \cdot 4\right) \cdot a}} + \left(-b\right)}\\ \end{array}\\ \mathbf{elif}\;b \ge 0.0:\\ \;\;\;\;\frac{\frac{2 \cdot a}{\frac{b}{c}} + b \cdot -2}{2 \cdot a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c \cdot 2}{\left(-b\right) + \sqrt{b \cdot b - c \cdot \left(4 \cdot a\right)}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019196 
(FPCore (a b c)
  :name "jeff quadratic root 1"
  (if (>= b 0.0) (/ (- (- b) (sqrt (- (* b b) (* (* 4.0 a) c)))) (* 2.0 a)) (/ (* 2.0 c) (+ (- b) (sqrt (- (* b b) (* (* 4.0 a) c)))))))