\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.6806111715441095 \cdot 10^{-29}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -2.5349830112643849 \cdot 10^{-83}:\\
\;\;\;\;\frac{\frac{a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le 5.9911994584698608 \cdot 10^{103}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r25479 = b_2;
double r25480 = -r25479;
double r25481 = r25479 * r25479;
double r25482 = a;
double r25483 = c;
double r25484 = r25482 * r25483;
double r25485 = r25481 - r25484;
double r25486 = sqrt(r25485);
double r25487 = r25480 - r25486;
double r25488 = r25487 / r25482;
return r25488;
}
double f(double a, double b_2, double c) {
double r25489 = b_2;
double r25490 = -1.6806111715441095e-29;
bool r25491 = r25489 <= r25490;
double r25492 = -0.5;
double r25493 = c;
double r25494 = r25493 / r25489;
double r25495 = r25492 * r25494;
double r25496 = -2.534983011264385e-83;
bool r25497 = r25489 <= r25496;
double r25498 = a;
double r25499 = r25498 * r25493;
double r25500 = r25489 * r25489;
double r25501 = r25500 - r25499;
double r25502 = sqrt(r25501);
double r25503 = r25502 - r25489;
double r25504 = r25499 / r25503;
double r25505 = r25504 / r25498;
double r25506 = 5.991199458469861e+103;
bool r25507 = r25489 <= r25506;
double r25508 = 1.0;
double r25509 = -r25489;
double r25510 = r25509 - r25502;
double r25511 = r25498 / r25510;
double r25512 = r25508 / r25511;
double r25513 = 0.5;
double r25514 = r25513 * r25494;
double r25515 = 2.0;
double r25516 = r25489 / r25498;
double r25517 = r25515 * r25516;
double r25518 = r25514 - r25517;
double r25519 = r25507 ? r25512 : r25518;
double r25520 = r25497 ? r25505 : r25519;
double r25521 = r25491 ? r25495 : r25520;
return r25521;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.6806111715441095e-29Initial program 54.8
Taylor expanded around -inf 6.6
if -1.6806111715441095e-29 < b_2 < -2.534983011264385e-83Initial program 32.9
rmApplied flip--33.0
Simplified16.9
Simplified16.9
if -2.534983011264385e-83 < b_2 < 5.991199458469861e+103Initial program 12.0
rmApplied clear-num12.1
if 5.991199458469861e+103 < b_2 Initial program 48.7
Taylor expanded around inf 4.1
Final simplification9.1
herbie shell --seed 2019198
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))