\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.442369070306521925925945300368519903805 \cdot 10^{91}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le \frac{8176673959656255}{5.8652475225036720546649669496166069229 \cdot 10^{253}}:\\
\;\;\;\;\left(\frac{1}{a} \cdot 0 + c\right) \cdot \frac{1}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{elif}\;b_2 \le 1.530904404386409423412434180578840981346 \cdot 10^{64}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\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 r22771 = b_2;
double r22772 = -r22771;
double r22773 = r22771 * r22771;
double r22774 = a;
double r22775 = c;
double r22776 = r22774 * r22775;
double r22777 = r22773 - r22776;
double r22778 = sqrt(r22777);
double r22779 = r22772 - r22778;
double r22780 = r22779 / r22774;
return r22780;
}
double f(double a, double b_2, double c) {
double r22781 = b_2;
double r22782 = -2.442369070306522e+91;
bool r22783 = r22781 <= r22782;
double r22784 = -0.5;
double r22785 = c;
double r22786 = r22785 / r22781;
double r22787 = r22784 * r22786;
double r22788 = 8176673959656255.0;
double r22789 = 5.865247522503672e+253;
double r22790 = r22788 / r22789;
bool r22791 = r22781 <= r22790;
double r22792 = 1.0;
double r22793 = a;
double r22794 = r22792 / r22793;
double r22795 = 0.0;
double r22796 = r22794 * r22795;
double r22797 = r22796 + r22785;
double r22798 = -r22781;
double r22799 = r22781 * r22781;
double r22800 = r22793 * r22785;
double r22801 = r22799 - r22800;
double r22802 = sqrt(r22801);
double r22803 = r22798 + r22802;
double r22804 = r22792 / r22803;
double r22805 = r22797 * r22804;
double r22806 = 1.5309044043864094e+64;
bool r22807 = r22781 <= r22806;
double r22808 = r22798 - r22802;
double r22809 = r22808 / r22793;
double r22810 = 0.5;
double r22811 = r22810 * r22786;
double r22812 = 2.0;
double r22813 = r22781 / r22793;
double r22814 = r22812 * r22813;
double r22815 = r22811 - r22814;
double r22816 = r22807 ? r22809 : r22815;
double r22817 = r22791 ? r22805 : r22816;
double r22818 = r22783 ? r22787 : r22817;
return r22818;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.442369070306522e+91Initial program 59.0
Taylor expanded around -inf 2.7
if -2.442369070306522e+91 < b_2 < 1.3940884725297859e-238Initial program 30.0
rmApplied clear-num30.0
rmApplied flip--30.1
Applied associate-/r/30.2
Applied *-un-lft-identity30.2
Applied times-frac30.2
Simplified15.8
Taylor expanded around 0 9.9
if 1.3940884725297859e-238 < b_2 < 1.5309044043864094e+64Initial program 8.1
if 1.5309044043864094e+64 < b_2 Initial program 39.8
Taylor expanded around inf 5.5
Final simplification6.9
herbie shell --seed 2019304
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))