\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -227369802444031.66:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -2.851839700712213 \cdot 10^{-304}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 4.71744724099961 \cdot 10^{+65}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r433402 = b_2;
double r433403 = -r433402;
double r433404 = r433402 * r433402;
double r433405 = a;
double r433406 = c;
double r433407 = r433405 * r433406;
double r433408 = r433404 - r433407;
double r433409 = sqrt(r433408);
double r433410 = r433403 - r433409;
double r433411 = r433410 / r433405;
return r433411;
}
double f(double a, double b_2, double c) {
double r433412 = b_2;
double r433413 = -227369802444031.66;
bool r433414 = r433412 <= r433413;
double r433415 = -0.5;
double r433416 = c;
double r433417 = r433416 / r433412;
double r433418 = r433415 * r433417;
double r433419 = -2.851839700712213e-304;
bool r433420 = r433412 <= r433419;
double r433421 = r433412 * r433412;
double r433422 = a;
double r433423 = r433422 * r433416;
double r433424 = r433421 - r433423;
double r433425 = sqrt(r433424);
double r433426 = r433425 - r433412;
double r433427 = r433416 / r433426;
double r433428 = 4.71744724099961e+65;
bool r433429 = r433412 <= r433428;
double r433430 = -r433412;
double r433431 = r433430 - r433425;
double r433432 = 1.0;
double r433433 = r433432 / r433422;
double r433434 = r433431 * r433433;
double r433435 = -2.0;
double r433436 = r433412 / r433422;
double r433437 = r433435 * r433436;
double r433438 = r433429 ? r433434 : r433437;
double r433439 = r433420 ? r433427 : r433438;
double r433440 = r433414 ? r433418 : r433439;
return r433440;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -227369802444031.66Initial program 55.8
Taylor expanded around -inf 5.0
if -227369802444031.66 < b_2 < -2.851839700712213e-304Initial program 27.5
rmApplied flip--27.6
Simplified17.3
Simplified17.3
rmApplied *-un-lft-identity17.3
Applied *-un-lft-identity17.3
Applied *-un-lft-identity17.3
Applied times-frac17.3
Applied times-frac17.3
Simplified17.3
Simplified17.1
Taylor expanded around 0 10.0
if -2.851839700712213e-304 < b_2 < 4.71744724099961e+65Initial program 9.1
rmApplied div-inv9.2
if 4.71744724099961e+65 < b_2 Initial program 38.1
rmApplied flip--59.9
Simplified60.1
Simplified60.1
Taylor expanded around 0 6.0
Final simplification7.4
herbie shell --seed 2019146
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))