\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -24372516198231232945584128508559360:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.421067498413492401141506084834609417442 \cdot 10^{-305}:\\
\;\;\;\;\frac{1}{\frac{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{a}}{c}} \cdot \frac{1}{a}\\
\mathbf{elif}\;b_2 \le 3.907427008490282589205280019135947132005 \cdot 10^{93}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r31838 = b_2;
double r31839 = -r31838;
double r31840 = r31838 * r31838;
double r31841 = a;
double r31842 = c;
double r31843 = r31841 * r31842;
double r31844 = r31840 - r31843;
double r31845 = sqrt(r31844);
double r31846 = r31839 - r31845;
double r31847 = r31846 / r31841;
return r31847;
}
double f(double a, double b_2, double c) {
double r31848 = b_2;
double r31849 = -2.4372516198231233e+34;
bool r31850 = r31848 <= r31849;
double r31851 = -0.5;
double r31852 = c;
double r31853 = r31852 / r31848;
double r31854 = r31851 * r31853;
double r31855 = 2.4210674984134924e-305;
bool r31856 = r31848 <= r31855;
double r31857 = 1.0;
double r31858 = r31848 * r31848;
double r31859 = a;
double r31860 = r31859 * r31852;
double r31861 = r31858 - r31860;
double r31862 = sqrt(r31861);
double r31863 = r31862 - r31848;
double r31864 = r31863 / r31859;
double r31865 = r31864 / r31852;
double r31866 = r31857 / r31865;
double r31867 = r31857 / r31859;
double r31868 = r31866 * r31867;
double r31869 = 3.9074270084902826e+93;
bool r31870 = r31848 <= r31869;
double r31871 = -r31848;
double r31872 = r31871 - r31862;
double r31873 = r31859 / r31872;
double r31874 = r31857 / r31873;
double r31875 = -2.0;
double r31876 = r31848 / r31859;
double r31877 = r31875 * r31876;
double r31878 = r31870 ? r31874 : r31877;
double r31879 = r31856 ? r31868 : r31878;
double r31880 = r31850 ? r31854 : r31879;
return r31880;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.4372516198231233e+34Initial program 56.6
Taylor expanded around -inf 4.8
if -2.4372516198231233e+34 < b_2 < 2.4210674984134924e-305Initial program 29.3
rmApplied flip--29.4
Simplified17.4
Simplified17.4
rmApplied clear-num17.5
Simplified14.6
rmApplied div-inv14.7
if 2.4210674984134924e-305 < b_2 < 3.9074270084902826e+93Initial program 9.0
rmApplied clear-num9.1
if 3.9074270084902826e+93 < b_2 Initial program 45.2
rmApplied flip--62.9
Simplified62.0
Simplified62.0
Taylor expanded around 0 3.5
Final simplification8.3
herbie shell --seed 2019347
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))