\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.44666123176016780594980092347699614144 \cdot 10^{151}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.12333471942415508636906215603303726066 \cdot 10^{-161}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 1.104385716015500810854693836311545666138 \cdot 10^{144}:\\
\;\;\;\;\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 r25628 = b_2;
double r25629 = -r25628;
double r25630 = r25628 * r25628;
double r25631 = a;
double r25632 = c;
double r25633 = r25631 * r25632;
double r25634 = r25630 - r25633;
double r25635 = sqrt(r25634);
double r25636 = r25629 - r25635;
double r25637 = r25636 / r25631;
return r25637;
}
double f(double a, double b_2, double c) {
double r25638 = b_2;
double r25639 = -2.4466612317601678e+151;
bool r25640 = r25638 <= r25639;
double r25641 = -0.5;
double r25642 = c;
double r25643 = r25642 / r25638;
double r25644 = r25641 * r25643;
double r25645 = 1.123334719424155e-161;
bool r25646 = r25638 <= r25645;
double r25647 = r25638 * r25638;
double r25648 = a;
double r25649 = r25648 * r25642;
double r25650 = r25647 - r25649;
double r25651 = sqrt(r25650);
double r25652 = r25651 - r25638;
double r25653 = r25642 / r25652;
double r25654 = 1.1043857160155008e+144;
bool r25655 = r25638 <= r25654;
double r25656 = 1.0;
double r25657 = -r25638;
double r25658 = r25657 - r25651;
double r25659 = r25648 / r25658;
double r25660 = r25656 / r25659;
double r25661 = 0.5;
double r25662 = r25661 * r25643;
double r25663 = 2.0;
double r25664 = r25638 / r25648;
double r25665 = r25663 * r25664;
double r25666 = r25662 - r25665;
double r25667 = r25655 ? r25660 : r25666;
double r25668 = r25646 ? r25653 : r25667;
double r25669 = r25640 ? r25644 : r25668;
return r25669;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.4466612317601678e+151Initial program 63.7
Taylor expanded around -inf 1.2
if -2.4466612317601678e+151 < b_2 < 1.123334719424155e-161Initial program 31.1
rmApplied flip--31.3
Simplified16.2
Simplified16.2
rmApplied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied times-frac16.2
Simplified16.2
Simplified9.4
if 1.123334719424155e-161 < b_2 < 1.1043857160155008e+144Initial program 6.1
rmApplied clear-num6.3
if 1.1043857160155008e+144 < b_2 Initial program 59.6
Taylor expanded around inf 2.3
Final simplification6.3
herbie shell --seed 2019325
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))