\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.99946224548089213456388959139204668765 \cdot 10^{73}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.296272708131498829504916428849430668856 \cdot 10^{-127}:\\
\;\;\;\;\frac{\frac{a \cdot c}{a}}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 5.748502676649782580252214156933339561376 \cdot 10^{143}:\\
\;\;\;\;\left(-\frac{b_2}{a}\right) - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{b_2 \cdot -2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r1152585 = b_2;
double r1152586 = -r1152585;
double r1152587 = r1152585 * r1152585;
double r1152588 = a;
double r1152589 = c;
double r1152590 = r1152588 * r1152589;
double r1152591 = r1152587 - r1152590;
double r1152592 = sqrt(r1152591);
double r1152593 = r1152586 - r1152592;
double r1152594 = r1152593 / r1152588;
return r1152594;
}
double f(double a, double b_2, double c) {
double r1152595 = b_2;
double r1152596 = -5.999462245480892e+73;
bool r1152597 = r1152595 <= r1152596;
double r1152598 = -0.5;
double r1152599 = c;
double r1152600 = r1152599 / r1152595;
double r1152601 = r1152598 * r1152600;
double r1152602 = -4.296272708131499e-127;
bool r1152603 = r1152595 <= r1152602;
double r1152604 = a;
double r1152605 = r1152604 * r1152599;
double r1152606 = r1152605 / r1152604;
double r1152607 = r1152595 * r1152595;
double r1152608 = r1152607 - r1152605;
double r1152609 = sqrt(r1152608);
double r1152610 = r1152609 - r1152595;
double r1152611 = r1152606 / r1152610;
double r1152612 = 5.748502676649783e+143;
bool r1152613 = r1152595 <= r1152612;
double r1152614 = r1152595 / r1152604;
double r1152615 = -r1152614;
double r1152616 = r1152609 / r1152604;
double r1152617 = r1152615 - r1152616;
double r1152618 = -2.0;
double r1152619 = r1152595 * r1152618;
double r1152620 = r1152619 / r1152604;
double r1152621 = r1152613 ? r1152617 : r1152620;
double r1152622 = r1152603 ? r1152611 : r1152621;
double r1152623 = r1152597 ? r1152601 : r1152622;
return r1152623;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.999462245480892e+73Initial program 58.3
Taylor expanded around -inf 3.4
if -5.999462245480892e+73 < b_2 < -4.296272708131499e-127Initial program 40.0
rmApplied flip--40.0
Simplified15.6
Simplified15.6
rmApplied *-un-lft-identity15.6
Applied times-frac13.7
Simplified13.7
rmApplied div-inv13.8
rmApplied associate-*r/15.7
Applied associate-*l/14.8
Simplified14.7
if -4.296272708131499e-127 < b_2 < 5.748502676649783e+143Initial program 11.3
rmApplied div-sub11.2
if 5.748502676649783e+143 < b_2 Initial program 59.9
rmApplied flip--63.9
Simplified62.7
Simplified62.7
Taylor expanded around 0 2.2
Final simplification8.6
herbie shell --seed 2019200
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))