\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;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.3041251107393795e+48Initial program 55.8
Taylor expanded around -inf 4.0
if -1.3041251107393795e+48 < b_2 < -4.475531474079766e-133Initial program 37.7
rmApplied flip--37.8
Simplified15.4
Simplified15.4
rmApplied add-cube-cbrt16.1
Applied add-sqr-sqrt16.1
Applied times-frac13.5
Applied times-frac9.4
rmApplied add-cube-cbrt9.5
Applied sqrt-prod9.5
Applied add-cube-cbrt9.0
Applied times-frac9.0
Applied times-frac8.9
Simplified8.9
if -4.475531474079766e-133 < b_2 < 9.19242293018462e+63Initial program 11.8
rmApplied clear-num12.0
if 9.19242293018462e+63 < b_2 Initial program 38.1
Taylor expanded around inf 4.5
Final simplification7.9
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))