\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -9.91243958875386880555748684589545292526 \cdot 10^{101}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -7.774817858016759874058349302107218860939 \cdot 10^{-301}:\\
\;\;\;\;\frac{1 \cdot \left(\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}{a}\\
\mathbf{elif}\;b_2 \le 3.163227370458367280461441428752527041014 \cdot 10^{53}:\\
\;\;\;\;\frac{1 \cdot \frac{a}{\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{c}}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r16565 = b_2;
double r16566 = -r16565;
double r16567 = r16565 * r16565;
double r16568 = a;
double r16569 = c;
double r16570 = r16568 * r16569;
double r16571 = r16567 - r16570;
double r16572 = sqrt(r16571);
double r16573 = r16566 + r16572;
double r16574 = r16573 / r16568;
return r16574;
}
double f(double a, double b_2, double c) {
double r16575 = b_2;
double r16576 = -9.912439588753869e+101;
bool r16577 = r16575 <= r16576;
double r16578 = 0.5;
double r16579 = c;
double r16580 = r16579 / r16575;
double r16581 = r16578 * r16580;
double r16582 = 2.0;
double r16583 = a;
double r16584 = r16575 / r16583;
double r16585 = r16582 * r16584;
double r16586 = r16581 - r16585;
double r16587 = -7.77481785801676e-301;
bool r16588 = r16575 <= r16587;
double r16589 = 1.0;
double r16590 = -r16575;
double r16591 = r16575 * r16575;
double r16592 = r16583 * r16579;
double r16593 = r16591 - r16592;
double r16594 = sqrt(r16593);
double r16595 = r16590 + r16594;
double r16596 = r16589 * r16595;
double r16597 = r16596 / r16583;
double r16598 = 3.1632273704583673e+53;
bool r16599 = r16575 <= r16598;
double r16600 = r16590 - r16594;
double r16601 = r16600 / r16579;
double r16602 = r16583 / r16601;
double r16603 = r16589 * r16602;
double r16604 = r16603 / r16583;
double r16605 = -0.5;
double r16606 = r16605 * r16580;
double r16607 = r16599 ? r16604 : r16606;
double r16608 = r16588 ? r16597 : r16607;
double r16609 = r16577 ? r16586 : r16608;
return r16609;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -9.912439588753869e+101Initial program 46.9
Taylor expanded around -inf 3.7
if -9.912439588753869e+101 < b_2 < -7.77481785801676e-301Initial program 9.1
rmApplied *-un-lft-identity9.1
if -7.77481785801676e-301 < b_2 < 3.1632273704583673e+53Initial program 30.2
rmApplied flip-+30.2
Simplified17.8
rmApplied *-un-lft-identity17.8
Applied *-un-lft-identity17.8
Applied times-frac17.8
Simplified17.8
Simplified14.8
if 3.1632273704583673e+53 < b_2 Initial program 57.6
Taylor expanded around inf 3.6
Final simplification8.2
herbie shell --seed 2020002
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))