Average Error: 34.2 → 12.5
Time: 21.4s
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 -1.353991234940779297203184553281909673632 \cdot 10^{154}:\\ \;\;\;\;\frac{\frac{\left(-3\right) \cdot \frac{a}{\frac{\frac{c}{\frac{b}{a}} \cdot 1.5}{c}}}{3}}{a}\\ \mathbf{elif}\;b \le 9.662302160771726600156812322790415706371 \cdot 10^{-283}:\\ \;\;\;\;\frac{\frac{\sqrt{\mathsf{fma}\left(b, b, 3 \cdot \left(-c \cdot a\right)\right)}}{a}}{3} - \frac{\frac{b}{3}}{a}\\ \mathbf{elif}\;b \le 8.3141423072673972643504834464895879574 \cdot 10^{76}:\\ \;\;\;\;\frac{\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{-a}{\frac{b + \sqrt{\mathsf{fma}\left(c \cdot a, -3, {b}^{2}\right)}}{c} \cdot \left(\sqrt[3]{a} \cdot \sqrt[3]{3}\right)}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\frac{\frac{a}{\frac{2 \cdot b - \frac{c}{\frac{b}{a}} \cdot 1.5}{c}} \cdot 3}{3}}{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 -1.353991234940779297203184553281909673632 \cdot 10^{154}:\\
\;\;\;\;\frac{\frac{\left(-3\right) \cdot \frac{a}{\frac{\frac{c}{\frac{b}{a}} \cdot 1.5}{c}}}{3}}{a}\\

\mathbf{elif}\;b \le 9.662302160771726600156812322790415706371 \cdot 10^{-283}:\\
\;\;\;\;\frac{\frac{\sqrt{\mathsf{fma}\left(b, b, 3 \cdot \left(-c \cdot a\right)\right)}}{a}}{3} - \frac{\frac{b}{3}}{a}\\

\mathbf{elif}\;b \le 8.3141423072673972643504834464895879574 \cdot 10^{76}:\\
\;\;\;\;\frac{\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{-a}{\frac{b + \sqrt{\mathsf{fma}\left(c \cdot a, -3, {b}^{2}\right)}}{c} \cdot \left(\sqrt[3]{a} \cdot \sqrt[3]{3}\right)}\\

\mathbf{else}:\\
\;\;\;\;-\frac{\frac{\frac{a}{\frac{2 \cdot b - \frac{c}{\frac{b}{a}} \cdot 1.5}{c}} \cdot 3}{3}}{a}\\

\end{array}
double f(double a, double b, double c) {
        double r124081 = b;
        double r124082 = -r124081;
        double r124083 = r124081 * r124081;
        double r124084 = 3.0;
        double r124085 = a;
        double r124086 = r124084 * r124085;
        double r124087 = c;
        double r124088 = r124086 * r124087;
        double r124089 = r124083 - r124088;
        double r124090 = sqrt(r124089);
        double r124091 = r124082 + r124090;
        double r124092 = r124091 / r124086;
        return r124092;
}

double f(double a, double b, double c) {
        double r124093 = b;
        double r124094 = -1.3539912349407793e+154;
        bool r124095 = r124093 <= r124094;
        double r124096 = 3.0;
        double r124097 = -r124096;
        double r124098 = a;
        double r124099 = c;
        double r124100 = r124093 / r124098;
        double r124101 = r124099 / r124100;
        double r124102 = 1.5;
        double r124103 = r124101 * r124102;
        double r124104 = r124103 / r124099;
        double r124105 = r124098 / r124104;
        double r124106 = r124097 * r124105;
        double r124107 = r124106 / r124096;
        double r124108 = r124107 / r124098;
        double r124109 = 9.662302160771727e-283;
        bool r124110 = r124093 <= r124109;
        double r124111 = r124099 * r124098;
        double r124112 = -r124111;
        double r124113 = r124096 * r124112;
        double r124114 = fma(r124093, r124093, r124113);
        double r124115 = sqrt(r124114);
        double r124116 = r124115 / r124098;
        double r124117 = r124116 / r124096;
        double r124118 = r124093 / r124096;
        double r124119 = r124118 / r124098;
        double r124120 = r124117 - r124119;
        double r124121 = 8.314142307267397e+76;
        bool r124122 = r124093 <= r124121;
        double r124123 = cbrt(r124096);
        double r124124 = r124123 * r124123;
        double r124125 = r124096 / r124124;
        double r124126 = cbrt(r124098);
        double r124127 = r124126 * r124126;
        double r124128 = r124125 / r124127;
        double r124129 = -r124098;
        double r124130 = 2.0;
        double r124131 = pow(r124093, r124130);
        double r124132 = fma(r124111, r124097, r124131);
        double r124133 = sqrt(r124132);
        double r124134 = r124093 + r124133;
        double r124135 = r124134 / r124099;
        double r124136 = r124126 * r124123;
        double r124137 = r124135 * r124136;
        double r124138 = r124129 / r124137;
        double r124139 = r124128 * r124138;
        double r124140 = r124130 * r124093;
        double r124141 = r124140 - r124103;
        double r124142 = r124141 / r124099;
        double r124143 = r124098 / r124142;
        double r124144 = r124143 * r124096;
        double r124145 = r124144 / r124096;
        double r124146 = r124145 / r124098;
        double r124147 = -r124146;
        double r124148 = r124122 ? r124139 : r124147;
        double r124149 = r124110 ? r124120 : r124148;
        double r124150 = r124095 ? r124108 : r124149;
        return r124150;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Split input into 4 regimes
  2. if b < -1.3539912349407793e+154

    1. Initial program 64.0

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

      \[\leadsto \color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} - b}{3 \cdot a}}\]
    3. Using strategy rm
    4. Applied flip--64.0

      \[\leadsto \frac{\color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} \cdot \sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} - b \cdot b}{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} + b}}}{3 \cdot a}\]
    5. Simplified62.7

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

      \[\leadsto \frac{\frac{\mathsf{fma}\left(c \cdot a, -3, 0\right)}{\color{blue}{b + \sqrt{\mathsf{fma}\left(b, b, \left(-3\right) \cdot \left(c \cdot a\right)\right)}}}}{3 \cdot a}\]
    7. Using strategy rm
    8. Applied associate-/r*62.7

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

      \[\leadsto \frac{\color{blue}{\frac{\frac{-3 \cdot \left(a \cdot c\right)}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}{3}}}{a}\]
    10. Using strategy rm
    11. Applied *-un-lft-identity62.7

      \[\leadsto \frac{\frac{\frac{-3 \cdot \left(a \cdot c\right)}{\color{blue}{1 \cdot \left(b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}\right)}}}{3}}{a}\]
    12. Applied distribute-lft-neg-in62.7

      \[\leadsto \frac{\frac{\frac{\color{blue}{\left(-3\right) \cdot \left(a \cdot c\right)}}{1 \cdot \left(b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}\right)}}{3}}{a}\]
    13. Applied times-frac62.7

      \[\leadsto \frac{\frac{\color{blue}{\frac{-3}{1} \cdot \frac{a \cdot c}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}}{3}}{a}\]
    14. Simplified62.7

      \[\leadsto \frac{\frac{\color{blue}{\left(-3\right)} \cdot \frac{a \cdot c}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}{3}}{a}\]
    15. Simplified62.5

      \[\leadsto \frac{\frac{\left(-3\right) \cdot \color{blue}{\frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}}{3}}{a}\]
    16. Taylor expanded around -inf 24.7

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

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

    if -1.3539912349407793e+154 < b < 9.662302160771727e-283

    1. Initial program 9.5

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

      \[\leadsto \color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} - b}{3 \cdot a}}\]
    3. Using strategy rm
    4. Applied div-sub9.5

      \[\leadsto \color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)}}{3 \cdot a} - \frac{b}{3 \cdot a}}\]
    5. Simplified9.5

      \[\leadsto \color{blue}{\frac{\frac{\sqrt{\mathsf{fma}\left(b, b, \left(-3\right) \cdot \left(c \cdot a\right)\right)}}{a}}{3}} - \frac{b}{3 \cdot a}\]
    6. Simplified9.5

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

    if 9.662302160771727e-283 < b < 8.314142307267397e+76

    1. Initial program 32.4

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

      \[\leadsto \color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} - b}{3 \cdot a}}\]
    3. Using strategy rm
    4. Applied flip--32.4

      \[\leadsto \frac{\color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} \cdot \sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} - b \cdot b}{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} + b}}}{3 \cdot a}\]
    5. Simplified17.1

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

      \[\leadsto \frac{\frac{\mathsf{fma}\left(c \cdot a, -3, 0\right)}{\color{blue}{b + \sqrt{\mathsf{fma}\left(b, b, \left(-3\right) \cdot \left(c \cdot a\right)\right)}}}}{3 \cdot a}\]
    7. Using strategy rm
    8. Applied associate-/r*17.0

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

      \[\leadsto \frac{\color{blue}{\frac{\frac{-3 \cdot \left(a \cdot c\right)}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}{3}}}{a}\]
    10. Using strategy rm
    11. Applied *-un-lft-identity17.0

      \[\leadsto \frac{\frac{\frac{-3 \cdot \left(a \cdot c\right)}{\color{blue}{1 \cdot \left(b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}\right)}}}{3}}{a}\]
    12. Applied distribute-lft-neg-in17.0

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

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

      \[\leadsto \frac{\frac{\color{blue}{\left(-3\right)} \cdot \frac{a \cdot c}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}{3}}{a}\]
    15. Simplified14.5

      \[\leadsto \frac{\frac{\left(-3\right) \cdot \color{blue}{\frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}}{3}}{a}\]
    16. Using strategy rm
    17. Applied add-cube-cbrt15.1

      \[\leadsto \frac{\frac{\left(-3\right) \cdot \frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}{3}}{\color{blue}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}}\]
    18. Applied add-cube-cbrt15.1

      \[\leadsto \frac{\frac{\left(-3\right) \cdot \frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}{\color{blue}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}}}}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}\]
    19. Applied times-frac15.2

      \[\leadsto \frac{\color{blue}{\frac{-3}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}{\sqrt[3]{3}}}}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}\]
    20. Applied times-frac15.2

      \[\leadsto \color{blue}{\frac{\frac{-3}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{\frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}{\sqrt[3]{3}}}{\sqrt[3]{a}}}\]
    21. Simplified15.2

      \[\leadsto \color{blue}{\frac{-\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}}} \cdot \frac{\frac{\frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}{\sqrt[3]{3}}}{\sqrt[3]{a}}\]
    22. Simplified16.0

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

    if 8.314142307267397e+76 < b

    1. Initial program 58.5

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

      \[\leadsto \color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} - b}{3 \cdot a}}\]
    3. Using strategy rm
    4. Applied flip--58.5

      \[\leadsto \frac{\color{blue}{\frac{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} \cdot \sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} - b \cdot b}{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} + b}}}{3 \cdot a}\]
    5. Simplified30.5

      \[\leadsto \frac{\frac{\color{blue}{\mathsf{fma}\left(c \cdot a, -3, 0\right)}}{\sqrt{\mathsf{fma}\left(3 \cdot a, -c, b \cdot b\right)} + b}}{3 \cdot a}\]
    6. Simplified30.5

      \[\leadsto \frac{\frac{\mathsf{fma}\left(c \cdot a, -3, 0\right)}{\color{blue}{b + \sqrt{\mathsf{fma}\left(b, b, \left(-3\right) \cdot \left(c \cdot a\right)\right)}}}}{3 \cdot a}\]
    7. Using strategy rm
    8. Applied associate-/r*30.5

      \[\leadsto \color{blue}{\frac{\frac{\frac{\mathsf{fma}\left(c \cdot a, -3, 0\right)}{b + \sqrt{\mathsf{fma}\left(b, b, \left(-3\right) \cdot \left(c \cdot a\right)\right)}}}{3}}{a}}\]
    9. Simplified30.5

      \[\leadsto \frac{\color{blue}{\frac{\frac{-3 \cdot \left(a \cdot c\right)}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}{3}}}{a}\]
    10. Using strategy rm
    11. Applied *-un-lft-identity30.5

      \[\leadsto \frac{\frac{\frac{-3 \cdot \left(a \cdot c\right)}{\color{blue}{1 \cdot \left(b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}\right)}}}{3}}{a}\]
    12. Applied distribute-lft-neg-in30.5

      \[\leadsto \frac{\frac{\frac{\color{blue}{\left(-3\right) \cdot \left(a \cdot c\right)}}{1 \cdot \left(b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}\right)}}{3}}{a}\]
    13. Applied times-frac30.5

      \[\leadsto \frac{\frac{\color{blue}{\frac{-3}{1} \cdot \frac{a \cdot c}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}}{3}}{a}\]
    14. Simplified30.5

      \[\leadsto \frac{\frac{\color{blue}{\left(-3\right)} \cdot \frac{a \cdot c}{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, b \cdot b\right)}}}{3}}{a}\]
    15. Simplified30.4

      \[\leadsto \frac{\frac{\left(-3\right) \cdot \color{blue}{\frac{a}{\frac{b + \sqrt{\mathsf{fma}\left(a \cdot c, -3, {b}^{2}\right)}}{c}}}}{3}}{a}\]
    16. Taylor expanded around inf 15.2

      \[\leadsto \frac{\frac{\left(-3\right) \cdot \frac{a}{\frac{\color{blue}{2 \cdot b - 1.5 \cdot \frac{a \cdot c}{b}}}{c}}}{3}}{a}\]
    17. Simplified11.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -1.353991234940779297203184553281909673632 \cdot 10^{154}:\\ \;\;\;\;\frac{\frac{\left(-3\right) \cdot \frac{a}{\frac{\frac{c}{\frac{b}{a}} \cdot 1.5}{c}}}{3}}{a}\\ \mathbf{elif}\;b \le 9.662302160771726600156812322790415706371 \cdot 10^{-283}:\\ \;\;\;\;\frac{\frac{\sqrt{\mathsf{fma}\left(b, b, 3 \cdot \left(-c \cdot a\right)\right)}}{a}}{3} - \frac{\frac{b}{3}}{a}\\ \mathbf{elif}\;b \le 8.3141423072673972643504834464895879574 \cdot 10^{76}:\\ \;\;\;\;\frac{\frac{3}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{-a}{\frac{b + \sqrt{\mathsf{fma}\left(c \cdot a, -3, {b}^{2}\right)}}{c} \cdot \left(\sqrt[3]{a} \cdot \sqrt[3]{3}\right)}\\ \mathbf{else}:\\ \;\;\;\;-\frac{\frac{\frac{a}{\frac{2 \cdot b - \frac{c}{\frac{b}{a}} \cdot 1.5}{c}} \cdot 3}{3}}{a}\\ \end{array}\]

Reproduce

herbie shell --seed 2019196 +o rules:numerics
(FPCore (a b c)
  :name "Cubic critical"
  (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)))