\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.48395925749684231185755183204764945523 \cdot 10^{145}:\\
\;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 1.027416821538068536725790738835144506948 \cdot 10^{-173}:\\
\;\;\;\;1 \cdot \frac{1}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{c}}\\
\mathbf{elif}\;b_2 \le 4.397833618396295559623484253976393644285 \cdot 10^{103}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r21204 = b_2;
double r21205 = -r21204;
double r21206 = r21204 * r21204;
double r21207 = a;
double r21208 = c;
double r21209 = r21207 * r21208;
double r21210 = r21206 - r21209;
double r21211 = sqrt(r21210);
double r21212 = r21205 - r21211;
double r21213 = r21212 / r21207;
return r21213;
}
double f(double a, double b_2, double c) {
double r21214 = b_2;
double r21215 = -6.483959257496842e+145;
bool r21216 = r21214 <= r21215;
double r21217 = 1.0;
double r21218 = -0.5;
double r21219 = c;
double r21220 = r21219 / r21214;
double r21221 = r21218 * r21220;
double r21222 = r21217 * r21221;
double r21223 = 1.0274168215380685e-173;
bool r21224 = r21214 <= r21223;
double r21225 = r21214 * r21214;
double r21226 = a;
double r21227 = r21226 * r21219;
double r21228 = r21225 - r21227;
double r21229 = sqrt(r21228);
double r21230 = r21229 - r21214;
double r21231 = r21230 / r21219;
double r21232 = r21217 / r21231;
double r21233 = r21217 * r21232;
double r21234 = 4.3978336183962956e+103;
bool r21235 = r21214 <= r21234;
double r21236 = -r21214;
double r21237 = r21236 - r21229;
double r21238 = r21237 / r21226;
double r21239 = -2.0;
double r21240 = r21214 / r21226;
double r21241 = r21239 * r21240;
double r21242 = r21235 ? r21238 : r21241;
double r21243 = r21224 ? r21233 : r21242;
double r21244 = r21216 ? r21222 : r21243;
return r21244;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.483959257496842e+145Initial program 62.8
rmApplied flip--62.8
Simplified37.5
Simplified37.5
rmApplied *-un-lft-identity37.5
Applied associate-/r*37.5
Simplified37.3
rmApplied add-sqr-sqrt50.7
Applied *-un-lft-identity50.7
Applied *-un-lft-identity50.7
Applied times-frac50.7
Applied add-sqr-sqrt50.7
Applied times-frac50.7
Applied times-frac50.6
Simplified50.6
Simplified36.9
Taylor expanded around -inf 1.6
if -6.483959257496842e+145 < b_2 < 1.0274168215380685e-173Initial program 30.5
rmApplied flip--30.7
Simplified15.4
Simplified15.4
rmApplied *-un-lft-identity15.4
Applied associate-/r*15.4
Simplified13.8
rmApplied add-sqr-sqrt39.2
Applied *-un-lft-identity39.2
Applied *-un-lft-identity39.2
Applied times-frac39.2
Applied add-sqr-sqrt39.1
Applied times-frac39.2
Applied times-frac37.7
Simplified37.7
Simplified9.7
if 1.0274168215380685e-173 < b_2 < 4.3978336183962956e+103Initial program 6.4
if 4.3978336183962956e+103 < b_2 Initial program 47.2
rmApplied flip--63.4
Simplified62.5
Simplified62.5
Taylor expanded around 0 3.9
Final simplification6.6
herbie shell --seed 2019352
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))