\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -0.1973887031618163923063491438369965180755:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -7.171823963983999441512307744546786541929 \cdot 10^{-310}:\\
\;\;\;\;\left(\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{elif}\;b_2 \le 2.730494439370032074747470763239053019705 \cdot 10^{75}:\\
\;\;\;\;\frac{1}{\frac{1}{c} \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r26565 = b_2;
double r26566 = -r26565;
double r26567 = r26565 * r26565;
double r26568 = a;
double r26569 = c;
double r26570 = r26568 * r26569;
double r26571 = r26567 - r26570;
double r26572 = sqrt(r26571);
double r26573 = r26566 + r26572;
double r26574 = r26573 / r26568;
return r26574;
}
double f(double a, double b_2, double c) {
double r26575 = b_2;
double r26576 = -0.1973887031618164;
bool r26577 = r26575 <= r26576;
double r26578 = 0.5;
double r26579 = c;
double r26580 = r26579 / r26575;
double r26581 = r26578 * r26580;
double r26582 = 2.0;
double r26583 = a;
double r26584 = r26575 / r26583;
double r26585 = r26582 * r26584;
double r26586 = r26581 - r26585;
double r26587 = -7.171823963984e-310;
bool r26588 = r26575 <= r26587;
double r26589 = -r26575;
double r26590 = r26575 * r26575;
double r26591 = r26583 * r26579;
double r26592 = r26590 - r26591;
double r26593 = sqrt(r26592);
double r26594 = r26589 + r26593;
double r26595 = 1.0;
double r26596 = r26595 / r26583;
double r26597 = r26594 * r26596;
double r26598 = 2.730494439370032e+75;
bool r26599 = r26575 <= r26598;
double r26600 = r26595 / r26579;
double r26601 = r26589 - r26593;
double r26602 = r26600 * r26601;
double r26603 = r26595 / r26602;
double r26604 = -0.5;
double r26605 = r26604 * r26580;
double r26606 = r26599 ? r26603 : r26605;
double r26607 = r26588 ? r26597 : r26606;
double r26608 = r26577 ? r26586 : r26607;
return r26608;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -0.1973887031618164Initial program 32.2
Taylor expanded around -inf 7.9
if -0.1973887031618164 < b_2 < -7.171823963984e-310Initial program 10.8
rmApplied div-inv11.0
if -7.171823963984e-310 < b_2 < 2.730494439370032e+75Initial program 30.3
rmApplied flip-+30.4
Simplified16.7
rmApplied *-un-lft-identity16.7
Applied times-frac14.0
Simplified14.0
rmApplied clear-num14.1
Simplified9.7
if 2.730494439370032e+75 < b_2 Initial program 58.6
Taylor expanded around inf 3.4
Final simplification7.9
herbie shell --seed 2019308
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))