\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -13333671538923874300:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.95187817907829912 \cdot 10^{-284}:\\
\;\;\;\;\frac{\frac{a}{\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{c}}}{a}\\
\mathbf{elif}\;b_2 \le 1.14497685072666721 \cdot 10^{139}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{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 r14530 = b_2;
double r14531 = -r14530;
double r14532 = r14530 * r14530;
double r14533 = a;
double r14534 = c;
double r14535 = r14533 * r14534;
double r14536 = r14532 - r14535;
double r14537 = sqrt(r14536);
double r14538 = r14531 - r14537;
double r14539 = r14538 / r14533;
return r14539;
}
double f(double a, double b_2, double c) {
double r14540 = b_2;
double r14541 = -1.3333671538923874e+19;
bool r14542 = r14540 <= r14541;
double r14543 = -0.5;
double r14544 = c;
double r14545 = r14544 / r14540;
double r14546 = r14543 * r14545;
double r14547 = -4.951878179078299e-284;
bool r14548 = r14540 <= r14547;
double r14549 = a;
double r14550 = -r14540;
double r14551 = r14540 * r14540;
double r14552 = r14549 * r14544;
double r14553 = r14551 - r14552;
double r14554 = sqrt(r14553);
double r14555 = r14550 + r14554;
double r14556 = r14555 / r14544;
double r14557 = r14549 / r14556;
double r14558 = r14557 / r14549;
double r14559 = 1.1449768507266672e+139;
bool r14560 = r14540 <= r14559;
double r14561 = r14550 - r14554;
double r14562 = 1.0;
double r14563 = r14562 / r14549;
double r14564 = r14561 * r14563;
double r14565 = 0.5;
double r14566 = r14565 * r14545;
double r14567 = 2.0;
double r14568 = r14540 / r14549;
double r14569 = r14567 * r14568;
double r14570 = r14566 - r14569;
double r14571 = r14560 ? r14564 : r14570;
double r14572 = r14548 ? r14558 : r14571;
double r14573 = r14542 ? r14546 : r14572;
return r14573;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.3333671538923874e+19Initial program 56.5
Taylor expanded around -inf 5.2
if -1.3333671538923874e+19 < b_2 < -4.951878179078299e-284Initial program 29.4
rmApplied div-inv29.4
rmApplied flip--29.5
Applied frac-times34.4
Simplified24.2
rmApplied associate-/r*18.4
Simplified15.1
if -4.951878179078299e-284 < b_2 < 1.1449768507266672e+139Initial program 9.0
rmApplied div-inv9.2
if 1.1449768507266672e+139 < b_2 Initial program 57.5
Taylor expanded around inf 2.1
Final simplification8.3
herbie shell --seed 2020089
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))