\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.098467977454582102316048322967968795279 \cdot 10^{76}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{2}\\
\mathbf{elif}\;b_2 \le 8.958852798091287000832395933283492118861 \cdot 10^{-209}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}\\
\mathbf{elif}\;b_2 \le 1.180913557368329815252913260832369757763 \cdot 10^{84}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2 \cdot b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r24789 = b_2;
double r24790 = -r24789;
double r24791 = r24789 * r24789;
double r24792 = a;
double r24793 = c;
double r24794 = r24792 * r24793;
double r24795 = r24791 - r24794;
double r24796 = sqrt(r24795);
double r24797 = r24790 - r24796;
double r24798 = r24797 / r24792;
return r24798;
}
double f(double a, double b_2, double c) {
double r24799 = b_2;
double r24800 = -3.098467977454582e+76;
bool r24801 = r24799 <= r24800;
double r24802 = c;
double r24803 = r24802 / r24799;
double r24804 = -0.5;
double r24805 = r24803 * r24804;
double r24806 = 8.958852798091287e-209;
bool r24807 = r24799 <= r24806;
double r24808 = r24799 * r24799;
double r24809 = a;
double r24810 = r24802 * r24809;
double r24811 = r24808 - r24810;
double r24812 = sqrt(r24811);
double r24813 = r24812 - r24799;
double r24814 = r24802 / r24813;
double r24815 = 1.1809135573683298e+84;
bool r24816 = r24799 <= r24815;
double r24817 = -r24799;
double r24818 = r24817 - r24812;
double r24819 = r24818 / r24809;
double r24820 = -2.0;
double r24821 = r24820 * r24799;
double r24822 = r24821 / r24809;
double r24823 = r24816 ? r24819 : r24822;
double r24824 = r24807 ? r24814 : r24823;
double r24825 = r24801 ? r24805 : r24824;
return r24825;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.098467977454582e+76Initial program 58.6
Taylor expanded around -inf 3.0
Simplified3.0
if -3.098467977454582e+76 < b_2 < 8.958852798091287e-209Initial program 29.1
rmApplied flip--29.2
Simplified17.0
Simplified17.0
rmApplied *-un-lft-identity17.0
Applied *-un-lft-identity17.0
Applied *-un-lft-identity17.0
Applied times-frac17.0
Applied times-frac17.0
Simplified17.0
Simplified16.5
Taylor expanded around 0 10.4
if 8.958852798091287e-209 < b_2 < 1.1809135573683298e+84Initial program 7.0
if 1.1809135573683298e+84 < b_2 Initial program 43.9
rmApplied flip--63.1
Simplified62.2
Simplified62.2
Taylor expanded around 0 3.7
Final simplification6.5
herbie shell --seed 2019194
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))