\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.44666123176016780594980092347699614144 \cdot 10^{151}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.12333471942415508636906215603303726066 \cdot 10^{-161}:\\
\;\;\;\;\frac{c}{\sqrt{\mathsf{fma}\left(b_2, b_2, -c \cdot a\right)} - b_2}\\
\mathbf{elif}\;b_2 \le 1.104385716015500810854693836311545666138 \cdot 10^{144}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{2}, \frac{c}{b_2}, \frac{b_2}{a} \cdot -2\right)\\
\end{array}double f(double a, double b_2, double c) {
double r27704 = b_2;
double r27705 = -r27704;
double r27706 = r27704 * r27704;
double r27707 = a;
double r27708 = c;
double r27709 = r27707 * r27708;
double r27710 = r27706 - r27709;
double r27711 = sqrt(r27710);
double r27712 = r27705 - r27711;
double r27713 = r27712 / r27707;
return r27713;
}
double f(double a, double b_2, double c) {
double r27714 = b_2;
double r27715 = -2.4466612317601678e+151;
bool r27716 = r27714 <= r27715;
double r27717 = -0.5;
double r27718 = c;
double r27719 = r27718 / r27714;
double r27720 = r27717 * r27719;
double r27721 = 1.123334719424155e-161;
bool r27722 = r27714 <= r27721;
double r27723 = a;
double r27724 = r27718 * r27723;
double r27725 = -r27724;
double r27726 = fma(r27714, r27714, r27725);
double r27727 = sqrt(r27726);
double r27728 = r27727 - r27714;
double r27729 = r27718 / r27728;
double r27730 = 1.1043857160155008e+144;
bool r27731 = r27714 <= r27730;
double r27732 = 1.0;
double r27733 = -r27714;
double r27734 = r27714 * r27714;
double r27735 = r27723 * r27718;
double r27736 = r27734 - r27735;
double r27737 = sqrt(r27736);
double r27738 = r27733 - r27737;
double r27739 = r27723 / r27738;
double r27740 = r27732 / r27739;
double r27741 = 0.5;
double r27742 = r27714 / r27723;
double r27743 = -2.0;
double r27744 = r27742 * r27743;
double r27745 = fma(r27741, r27719, r27744);
double r27746 = r27731 ? r27740 : r27745;
double r27747 = r27722 ? r27729 : r27746;
double r27748 = r27716 ? r27720 : r27747;
return r27748;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -2.4466612317601678e+151Initial program 63.7
Taylor expanded around -inf 1.2
if -2.4466612317601678e+151 < b_2 < 1.123334719424155e-161Initial program 31.1
rmApplied flip--31.3
Simplified16.2
Simplified16.2
rmApplied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied times-frac16.2
Applied times-frac16.2
Simplified16.2
Simplified9.4
if 1.123334719424155e-161 < b_2 < 1.1043857160155008e+144Initial program 6.1
rmApplied clear-num6.3
if 1.1043857160155008e+144 < b_2 Initial program 59.6
Taylor expanded around inf 2.3
Simplified2.3
Final simplification6.3
herbie shell --seed 2019325 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))