\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -8.514236331386388029696934038334880301838 \cdot 10^{118}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -6.213463787515188210038303888822268821527 \cdot 10^{-217}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\
\mathbf{elif}\;b_2 \le 4.945382427151992145926851206958433093126 \cdot 10^{116}:\\
\;\;\;\;\frac{c}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r17364 = b_2;
double r17365 = -r17364;
double r17366 = r17364 * r17364;
double r17367 = a;
double r17368 = c;
double r17369 = r17367 * r17368;
double r17370 = r17366 - r17369;
double r17371 = sqrt(r17370);
double r17372 = r17365 + r17371;
double r17373 = r17372 / r17367;
return r17373;
}
double f(double a, double b_2, double c) {
double r17374 = b_2;
double r17375 = -8.514236331386388e+118;
bool r17376 = r17374 <= r17375;
double r17377 = 0.5;
double r17378 = c;
double r17379 = r17378 / r17374;
double r17380 = r17377 * r17379;
double r17381 = 2.0;
double r17382 = a;
double r17383 = r17374 / r17382;
double r17384 = r17381 * r17383;
double r17385 = r17380 - r17384;
double r17386 = -6.213463787515188e-217;
bool r17387 = r17374 <= r17386;
double r17388 = 1.0;
double r17389 = r17374 * r17374;
double r17390 = r17382 * r17378;
double r17391 = r17389 - r17390;
double r17392 = sqrt(r17391);
double r17393 = r17392 - r17374;
double r17394 = r17382 / r17393;
double r17395 = r17388 / r17394;
double r17396 = 4.945382427151992e+116;
bool r17397 = r17374 <= r17396;
double r17398 = -r17374;
double r17399 = r17398 - r17392;
double r17400 = r17378 / r17399;
double r17401 = -0.5;
double r17402 = r17401 * r17379;
double r17403 = r17397 ? r17400 : r17402;
double r17404 = r17387 ? r17395 : r17403;
double r17405 = r17376 ? r17385 : r17404;
return r17405;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -8.514236331386388e+118Initial program 51.5
Taylor expanded around -inf 2.8
if -8.514236331386388e+118 < b_2 < -6.213463787515188e-217Initial program 8.1
rmApplied clear-num8.2
Simplified8.2
if -6.213463787515188e-217 < b_2 < 4.945382427151992e+116Initial program 31.4
rmApplied flip-+31.5
Simplified17.4
rmApplied *-un-lft-identity17.4
Applied *-un-lft-identity17.4
Applied times-frac17.4
Simplified17.4
Simplified10.1
if 4.945382427151992e+116 < b_2 Initial program 60.2
Taylor expanded around inf 2.5
Final simplification6.9
herbie shell --seed 2019351
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))