\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.062954969806706230304038666801404238404 \cdot 10^{105}:\\
\;\;\;\;\left(\frac{\frac{1}{2}}{\frac{b_2}{c}} - \frac{b_2}{a}\right) - \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 4.425266767149826267163696598657296527176 \cdot 10^{-76}:\\
\;\;\;\;\frac{\sqrt{{b_2}^{2} - a \cdot c}}{a} - \frac{b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{2}\\
\end{array}double f(double a, double b_2, double c) {
double r23398 = b_2;
double r23399 = -r23398;
double r23400 = r23398 * r23398;
double r23401 = a;
double r23402 = c;
double r23403 = r23401 * r23402;
double r23404 = r23400 - r23403;
double r23405 = sqrt(r23404);
double r23406 = r23399 + r23405;
double r23407 = r23406 / r23401;
return r23407;
}
double f(double a, double b_2, double c) {
double r23408 = b_2;
double r23409 = -5.062954969806706e+105;
bool r23410 = r23408 <= r23409;
double r23411 = 0.5;
double r23412 = c;
double r23413 = r23408 / r23412;
double r23414 = r23411 / r23413;
double r23415 = a;
double r23416 = r23408 / r23415;
double r23417 = r23414 - r23416;
double r23418 = r23417 - r23416;
double r23419 = 4.425266767149826e-76;
bool r23420 = r23408 <= r23419;
double r23421 = 2.0;
double r23422 = pow(r23408, r23421);
double r23423 = r23415 * r23412;
double r23424 = r23422 - r23423;
double r23425 = sqrt(r23424);
double r23426 = r23425 / r23415;
double r23427 = r23426 - r23416;
double r23428 = r23412 / r23408;
double r23429 = -0.5;
double r23430 = r23428 * r23429;
double r23431 = r23420 ? r23427 : r23430;
double r23432 = r23410 ? r23418 : r23431;
return r23432;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.062954969806706e+105Initial program 49.1
Simplified49.1
rmApplied div-sub49.1
Simplified49.1
Taylor expanded around -inf 2.8
Simplified2.8
if -5.062954969806706e+105 < b_2 < 4.425266767149826e-76Initial program 12.9
Simplified12.9
rmApplied div-sub12.9
Simplified12.9
if 4.425266767149826e-76 < b_2 Initial program 53.0
Simplified53.0
Taylor expanded around inf 9.3
Simplified9.3
Final simplification10.0
herbie shell --seed 2019195
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))