\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.869662346631121401645595393947635525169 \cdot 10^{101}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 7.455592343308264166675918758902222662503 \cdot 10^{-170}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\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 r21284 = b_2;
double r21285 = -r21284;
double r21286 = r21284 * r21284;
double r21287 = a;
double r21288 = c;
double r21289 = r21287 * r21288;
double r21290 = r21286 - r21289;
double r21291 = sqrt(r21290);
double r21292 = r21285 - r21291;
double r21293 = r21292 / r21287;
return r21293;
}
double f(double a, double b_2, double c) {
double r21294 = b_2;
double r21295 = -1.8696623466311214e+101;
bool r21296 = r21294 <= r21295;
double r21297 = -0.5;
double r21298 = c;
double r21299 = r21298 / r21294;
double r21300 = r21297 * r21299;
double r21301 = 7.455592343308264e-170;
bool r21302 = r21294 <= r21301;
double r21303 = r21294 * r21294;
double r21304 = a;
double r21305 = r21304 * r21298;
double r21306 = r21303 - r21305;
double r21307 = sqrt(r21306);
double r21308 = r21307 - r21294;
double r21309 = r21298 / r21308;
double r21310 = 0.5;
double r21311 = r21310 * r21299;
double r21312 = 2.0;
double r21313 = r21294 / r21304;
double r21314 = r21312 * r21313;
double r21315 = r21311 - r21314;
double r21316 = r21302 ? r21309 : r21315;
double r21317 = r21296 ? r21300 : r21316;
return r21317;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.8696623466311214e+101Initial program 59.8
Taylor expanded around -inf 2.5
if -1.8696623466311214e+101 < b_2 < 7.455592343308264e-170Initial program 28.9
rmApplied flip--29.1
Simplified16.6
Simplified16.6
rmApplied *-un-lft-identity16.6
Applied *-un-lft-identity16.6
Applied times-frac16.6
Simplified16.6
Simplified11.1
if 7.455592343308264e-170 < b_2 Initial program 23.0
Taylor expanded around inf 17.1
Final simplification11.3
herbie shell --seed 2019323
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))