\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.2092322739463293 \cdot 10^{-86}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.891777552454845 \cdot 10^{+74}:\\
\;\;\;\;-\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} + b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{2}, \left(\frac{c}{b_2}\right), \left(\frac{b_2 \cdot -2}{a}\right)\right)\\
\end{array}double f(double a, double b_2, double c) {
double r584634 = b_2;
double r584635 = -r584634;
double r584636 = r584634 * r584634;
double r584637 = a;
double r584638 = c;
double r584639 = r584637 * r584638;
double r584640 = r584636 - r584639;
double r584641 = sqrt(r584640);
double r584642 = r584635 - r584641;
double r584643 = r584642 / r584637;
return r584643;
}
double f(double a, double b_2, double c) {
double r584644 = b_2;
double r584645 = -3.2092322739463293e-86;
bool r584646 = r584644 <= r584645;
double r584647 = -0.5;
double r584648 = c;
double r584649 = r584648 / r584644;
double r584650 = r584647 * r584649;
double r584651 = 2.891777552454845e+74;
bool r584652 = r584644 <= r584651;
double r584653 = r584644 * r584644;
double r584654 = a;
double r584655 = r584654 * r584648;
double r584656 = r584653 - r584655;
double r584657 = sqrt(r584656);
double r584658 = r584657 + r584644;
double r584659 = r584658 / r584654;
double r584660 = -r584659;
double r584661 = 0.5;
double r584662 = -2.0;
double r584663 = r584644 * r584662;
double r584664 = r584663 / r584654;
double r584665 = fma(r584661, r584649, r584664);
double r584666 = r584652 ? r584660 : r584665;
double r584667 = r584646 ? r584650 : r584666;
return r584667;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -3.2092322739463293e-86Initial program 52.3
Taylor expanded around -inf 9.4
if -3.2092322739463293e-86 < b_2 < 2.891777552454845e+74Initial program 13.1
rmApplied add-sqr-sqrt13.1
Applied sqrt-prod13.3
rmApplied neg-sub013.3
Applied associate--l-13.3
Simplified13.1
if 2.891777552454845e+74 < b_2 Initial program 38.9
Taylor expanded around inf 4.2
Simplified4.2
Final simplification10.0
herbie shell --seed 2019130 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))