\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{b_2 \cdot b_2 - a \cdot c} - 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}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r25774 = b_2;
double r25775 = -r25774;
double r25776 = r25774 * r25774;
double r25777 = a;
double r25778 = c;
double r25779 = r25777 * r25778;
double r25780 = r25776 - r25779;
double r25781 = sqrt(r25780);
double r25782 = r25775 - r25781;
double r25783 = r25782 / r25777;
return r25783;
}
double f(double a, double b_2, double c) {
double r25784 = b_2;
double r25785 = -2.4466612317601678e+151;
bool r25786 = r25784 <= r25785;
double r25787 = -0.5;
double r25788 = c;
double r25789 = r25788 / r25784;
double r25790 = r25787 * r25789;
double r25791 = 1.123334719424155e-161;
bool r25792 = r25784 <= r25791;
double r25793 = r25784 * r25784;
double r25794 = a;
double r25795 = r25794 * r25788;
double r25796 = r25793 - r25795;
double r25797 = sqrt(r25796);
double r25798 = r25797 - r25784;
double r25799 = r25788 / r25798;
double r25800 = 1.1043857160155008e+144;
bool r25801 = r25784 <= r25800;
double r25802 = 1.0;
double r25803 = -r25784;
double r25804 = r25803 - r25797;
double r25805 = r25794 / r25804;
double r25806 = r25802 / r25805;
double r25807 = 0.5;
double r25808 = r25807 * r25789;
double r25809 = 2.0;
double r25810 = r25784 / r25794;
double r25811 = r25809 * r25810;
double r25812 = r25808 - r25811;
double r25813 = r25801 ? r25806 : r25812;
double r25814 = r25792 ? r25799 : r25813;
double r25815 = r25786 ? r25790 : r25814;
return r25815;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
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 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
Final simplification6.3
herbie shell --seed 2019325
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))