Average Error: 34.2 → 11.6
Time: 22.7s
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 -2.895414539362304645852221252977125330123 \cdot 10^{111}:\\ \;\;\;\;\frac{\left(-b\right) + \left(1.5 \cdot \frac{a \cdot c}{b} - b\right)}{3 \cdot a}\\ \mathbf{elif}\;b \le 1.698277525249925633382980747692482567317 \cdot 10^{-273}:\\ \;\;\;\;\frac{\sqrt{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b} \cdot \sqrt{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}}{3 \cdot a}\\ \mathbf{elif}\;b \le 9.536320284549619388810913795872221190386 \cdot 10^{133}:\\ \;\;\;\;3 \cdot \left(\frac{a}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3}}{\sqrt[3]{a}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{3 \cdot \left(a \cdot c\right)}{\left(-b\right) - \left(b - 1.5 \cdot \frac{a \cdot c}{b}\right)}}{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 -2.895414539362304645852221252977125330123 \cdot 10^{111}:\\
\;\;\;\;\frac{\left(-b\right) + \left(1.5 \cdot \frac{a \cdot c}{b} - b\right)}{3 \cdot a}\\

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

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

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

\end{array}
double f(double a, double b, double c) {
        double r109514 = b;
        double r109515 = -r109514;
        double r109516 = r109514 * r109514;
        double r109517 = 3.0;
        double r109518 = a;
        double r109519 = r109517 * r109518;
        double r109520 = c;
        double r109521 = r109519 * r109520;
        double r109522 = r109516 - r109521;
        double r109523 = sqrt(r109522);
        double r109524 = r109515 + r109523;
        double r109525 = r109524 / r109519;
        return r109525;
}

double f(double a, double b, double c) {
        double r109526 = b;
        double r109527 = -2.8954145393623046e+111;
        bool r109528 = r109526 <= r109527;
        double r109529 = -r109526;
        double r109530 = 1.5;
        double r109531 = a;
        double r109532 = c;
        double r109533 = r109531 * r109532;
        double r109534 = r109533 / r109526;
        double r109535 = r109530 * r109534;
        double r109536 = r109535 - r109526;
        double r109537 = r109529 + r109536;
        double r109538 = 3.0;
        double r109539 = r109538 * r109531;
        double r109540 = r109537 / r109539;
        double r109541 = 1.6982775252499256e-273;
        bool r109542 = r109526 <= r109541;
        double r109543 = r109526 * r109526;
        double r109544 = r109539 * r109532;
        double r109545 = r109543 - r109544;
        double r109546 = sqrt(r109545);
        double r109547 = r109546 - r109526;
        double r109548 = sqrt(r109547);
        double r109549 = r109548 * r109548;
        double r109550 = r109549 / r109539;
        double r109551 = 9.53632028454962e+133;
        bool r109552 = r109526 <= r109551;
        double r109553 = cbrt(r109531);
        double r109554 = r109553 * r109553;
        double r109555 = r109531 / r109554;
        double r109556 = r109529 - r109546;
        double r109557 = r109532 / r109556;
        double r109558 = r109557 / r109538;
        double r109559 = r109558 / r109553;
        double r109560 = r109555 * r109559;
        double r109561 = r109538 * r109560;
        double r109562 = r109538 * r109533;
        double r109563 = r109526 - r109535;
        double r109564 = r109529 - r109563;
        double r109565 = r109562 / r109564;
        double r109566 = r109565 / r109538;
        double r109567 = r109566 / r109531;
        double r109568 = r109552 ? r109561 : r109567;
        double r109569 = r109542 ? r109550 : r109568;
        double r109570 = r109528 ? r109540 : r109569;
        return r109570;
}

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 4 regimes
  2. if b < -2.8954145393623046e+111

    1. Initial program 48.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.0

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

    if -2.8954145393623046e+111 < b < 1.6982775252499256e-273

    1. Initial program 9.1

      \[\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-sqr-sqrt9.3

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

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

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

    if 1.6982775252499256e-273 < b < 9.53632028454962e+133

    1. Initial program 35.3

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

      \[\leadsto \frac{\frac{\color{blue}{3 \cdot \left(a \cdot c\right) + 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.8

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

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

      \[\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 *-un-lft-identity16.8

      \[\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}{1 \cdot 3}}}{1 \cdot a}\]
    11. Applied *-un-lft-identity16.8

      \[\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)}}}{1 \cdot 3}}{1 \cdot a}\]
    12. Applied times-frac16.7

      \[\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}}}}{1 \cdot 3}}{1 \cdot a}\]
    13. Applied times-frac16.8

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

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

      \[\leadsto \color{blue}{3} \cdot \frac{\frac{\frac{a \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3}}{a}\]
    16. Using strategy rm
    17. Applied add-cube-cbrt17.4

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

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

      \[\leadsto 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)}}}{1 \cdot 3}}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}\]
    20. Applied times-frac15.1

      \[\leadsto 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}}}}{1 \cdot 3}}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}\]
    21. Applied times-frac15.1

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

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

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

    if 9.53632028454962e+133 < b

    1. Initial program 62.2

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

      \[\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. Simplified35.9

      \[\leadsto \frac{\frac{\color{blue}{3 \cdot \left(a \cdot c\right) + 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*35.9

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

      \[\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. Taylor expanded around inf 15.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -2.895414539362304645852221252977125330123 \cdot 10^{111}:\\ \;\;\;\;\frac{\left(-b\right) + \left(1.5 \cdot \frac{a \cdot c}{b} - b\right)}{3 \cdot a}\\ \mathbf{elif}\;b \le 1.698277525249925633382980747692482567317 \cdot 10^{-273}:\\ \;\;\;\;\frac{\sqrt{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b} \cdot \sqrt{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}}{3 \cdot a}\\ \mathbf{elif}\;b \le 9.536320284549619388810913795872221190386 \cdot 10^{133}:\\ \;\;\;\;3 \cdot \left(\frac{a}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{\frac{c}{\left(-b\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}{3}}{\sqrt[3]{a}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{3 \cdot \left(a \cdot c\right)}{\left(-b\right) - \left(b - 1.5 \cdot \frac{a \cdot c}{b}\right)}}{3}}{a}\\ \end{array}\]

Reproduce

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