Average Error: 32.8 → 7.9
Time: 37.5s
Precision: 64
\[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
\[\begin{array}{l} \mathbf{if}\;b_2 \le -1.3041251107393795 \cdot 10^{+48}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \mathbf{elif}\;b_2 \le -4.475531474079766 \cdot 10^{-133}:\\ \;\;\;\;\left(\frac{\frac{\sqrt[3]{a}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}}}{\sqrt[3]{a}} \cdot \left(\frac{\sqrt[3]{a}}{\left|\sqrt[3]{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}\right|} \cdot \frac{\sqrt[3]{a}}{\sqrt[3]{a}}\right)\right) \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}}{\sqrt[3]{a}}\\ \mathbf{elif}\;b_2 \le 9.19242293018462 \cdot 10^{+63}:\\ \;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\ \end{array}\]
\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}
\begin{array}{l}
\mathbf{if}\;b_2 \le -1.3041251107393795 \cdot 10^{+48}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\

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

\mathbf{elif}\;b_2 \le 9.19242293018462 \cdot 10^{+63}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\

\end{array}
double f(double a, double b_2, double c) {
        double r1672560 = b_2;
        double r1672561 = -r1672560;
        double r1672562 = r1672560 * r1672560;
        double r1672563 = a;
        double r1672564 = c;
        double r1672565 = r1672563 * r1672564;
        double r1672566 = r1672562 - r1672565;
        double r1672567 = sqrt(r1672566);
        double r1672568 = r1672561 - r1672567;
        double r1672569 = r1672568 / r1672563;
        return r1672569;
}

double f(double a, double b_2, double c) {
        double r1672570 = b_2;
        double r1672571 = -1.3041251107393795e+48;
        bool r1672572 = r1672570 <= r1672571;
        double r1672573 = -0.5;
        double r1672574 = c;
        double r1672575 = r1672574 / r1672570;
        double r1672576 = r1672573 * r1672575;
        double r1672577 = -4.475531474079766e-133;
        bool r1672578 = r1672570 <= r1672577;
        double r1672579 = a;
        double r1672580 = cbrt(r1672579);
        double r1672581 = r1672570 * r1672570;
        double r1672582 = r1672574 * r1672579;
        double r1672583 = r1672581 - r1672582;
        double r1672584 = sqrt(r1672583);
        double r1672585 = r1672584 - r1672570;
        double r1672586 = cbrt(r1672585);
        double r1672587 = sqrt(r1672586);
        double r1672588 = r1672580 / r1672587;
        double r1672589 = r1672588 / r1672580;
        double r1672590 = fabs(r1672586);
        double r1672591 = r1672580 / r1672590;
        double r1672592 = r1672580 / r1672580;
        double r1672593 = r1672591 * r1672592;
        double r1672594 = r1672589 * r1672593;
        double r1672595 = sqrt(r1672585);
        double r1672596 = r1672574 / r1672595;
        double r1672597 = r1672596 / r1672580;
        double r1672598 = r1672594 * r1672597;
        double r1672599 = 9.19242293018462e+63;
        bool r1672600 = r1672570 <= r1672599;
        double r1672601 = 1.0;
        double r1672602 = -r1672570;
        double r1672603 = r1672602 - r1672584;
        double r1672604 = r1672579 / r1672603;
        double r1672605 = r1672601 / r1672604;
        double r1672606 = 0.5;
        double r1672607 = r1672606 * r1672575;
        double r1672608 = r1672570 / r1672579;
        double r1672609 = 2.0;
        double r1672610 = r1672608 * r1672609;
        double r1672611 = r1672607 - r1672610;
        double r1672612 = r1672600 ? r1672605 : r1672611;
        double r1672613 = r1672578 ? r1672598 : r1672612;
        double r1672614 = r1672572 ? r1672576 : r1672613;
        return r1672614;
}

Error

Bits error versus a

Bits error versus b_2

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 < -1.3041251107393795e+48

    1. Initial program 55.8

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Taylor expanded around -inf 4.0

      \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b_2}}\]

    if -1.3041251107393795e+48 < b_2 < -4.475531474079766e-133

    1. Initial program 37.7

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

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

      \[\leadsto \frac{\frac{\color{blue}{a \cdot c}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}}{a}\]
    5. Simplified15.4

      \[\leadsto \frac{\frac{a \cdot c}{\color{blue}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{a}\]
    6. Using strategy rm
    7. Applied add-cube-cbrt16.1

      \[\leadsto \frac{\frac{a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{\color{blue}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}}\]
    8. Applied add-sqr-sqrt16.1

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

      \[\leadsto \frac{\color{blue}{\frac{a}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}} \cdot \frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}\]
    10. Applied times-frac9.4

      \[\leadsto \color{blue}{\frac{\frac{a}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{\sqrt[3]{a}}}\]
    11. Using strategy rm
    12. Applied add-cube-cbrt9.5

      \[\leadsto \frac{\frac{a}{\sqrt{\color{blue}{\left(\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot \sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\right) \cdot \sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{\sqrt[3]{a}}\]
    13. Applied sqrt-prod9.5

      \[\leadsto \frac{\frac{a}{\color{blue}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot \sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}} \cdot \sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{\sqrt[3]{a}}\]
    14. Applied add-cube-cbrt9.0

      \[\leadsto \frac{\frac{\color{blue}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot \sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}} \cdot \sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{\sqrt[3]{a}}\]
    15. Applied times-frac9.0

      \[\leadsto \frac{\color{blue}{\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot \sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}} \cdot \frac{\sqrt[3]{a}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{\sqrt[3]{a}}\]
    16. Applied times-frac8.9

      \[\leadsto \color{blue}{\left(\frac{\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot \sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}}{\sqrt[3]{a}} \cdot \frac{\frac{\sqrt[3]{a}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}}{\sqrt[3]{a}}\right)} \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{\sqrt[3]{a}}\]
    17. Simplified8.9

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

    if -4.475531474079766e-133 < b_2 < 9.19242293018462e+63

    1. Initial program 11.8

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied clear-num12.0

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

    if 9.19242293018462e+63 < b_2

    1. Initial program 38.1

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Taylor expanded around inf 4.5

      \[\leadsto \color{blue}{\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification7.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;b_2 \le -1.3041251107393795 \cdot 10^{+48}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \mathbf{elif}\;b_2 \le -4.475531474079766 \cdot 10^{-133}:\\ \;\;\;\;\left(\frac{\frac{\sqrt[3]{a}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}}}{\sqrt[3]{a}} \cdot \left(\frac{\sqrt[3]{a}}{\left|\sqrt[3]{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}\right|} \cdot \frac{\sqrt[3]{a}}{\sqrt[3]{a}}\right)\right) \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}}{\sqrt[3]{a}}\\ \mathbf{elif}\;b_2 \le 9.19242293018462 \cdot 10^{+63}:\\ \;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\ \end{array}\]

Reproduce

herbie shell --seed 2019158 
(FPCore (a b_2 c)
  :name "quad2m (problem 3.2.1, negative)"
  (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))