\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.9315373378557038 \cdot 10^{-23}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.77017414835012383 \cdot 10^{70}:\\
\;\;\;\;1 \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r15499 = b_2;
double r15500 = -r15499;
double r15501 = r15499 * r15499;
double r15502 = a;
double r15503 = c;
double r15504 = r15502 * r15503;
double r15505 = r15501 - r15504;
double r15506 = sqrt(r15505);
double r15507 = r15500 - r15506;
double r15508 = r15507 / r15502;
return r15508;
}
double f(double a, double b_2, double c) {
double r15509 = b_2;
double r15510 = -6.931537337855704e-23;
bool r15511 = r15509 <= r15510;
double r15512 = -0.5;
double r15513 = c;
double r15514 = r15513 / r15509;
double r15515 = r15512 * r15514;
double r15516 = 1.7701741483501238e+70;
bool r15517 = r15509 <= r15516;
double r15518 = 1.0;
double r15519 = -r15509;
double r15520 = r15509 * r15509;
double r15521 = a;
double r15522 = r15521 * r15513;
double r15523 = r15520 - r15522;
double r15524 = sqrt(r15523);
double r15525 = r15519 - r15524;
double r15526 = r15525 / r15521;
double r15527 = r15518 * r15526;
double r15528 = -2.0;
double r15529 = r15509 / r15521;
double r15530 = r15528 * r15529;
double r15531 = r15517 ? r15527 : r15530;
double r15532 = r15511 ? r15515 : r15531;
return r15532;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.931537337855704e-23Initial program 54.3
Taylor expanded around -inf 7.3
if -6.931537337855704e-23 < b_2 < 1.7701741483501238e+70Initial program 15.5
rmApplied clear-num15.6
rmApplied *-un-lft-identity15.6
Applied *-un-lft-identity15.6
Applied times-frac15.6
Applied add-cube-cbrt15.6
Applied times-frac15.6
Simplified15.6
Simplified15.5
if 1.7701741483501238e+70 < b_2 Initial program 41.6
rmApplied clear-num41.7
Taylor expanded around 0 5.6
Final simplification10.8
herbie shell --seed 2020025 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))