\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.8774910265390396 \cdot 10^{-73}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.5703497435733685 \cdot 10^{+102}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{c}{b_2}, \frac{1}{2}, -2 \cdot \frac{b_2}{a}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r313149 = b_2;
double r313150 = -r313149;
double r313151 = r313149 * r313149;
double r313152 = a;
double r313153 = c;
double r313154 = r313152 * r313153;
double r313155 = r313151 - r313154;
double r313156 = sqrt(r313155);
double r313157 = r313150 - r313156;
double r313158 = r313157 / r313152;
return r313158;
}
double f(double a, double b_2, double c) {
double r313159 = b_2;
double r313160 = -1.8774910265390396e-73;
bool r313161 = r313159 <= r313160;
double r313162 = -0.5;
double r313163 = c;
double r313164 = r313163 / r313159;
double r313165 = r313162 * r313164;
double r313166 = 2.5703497435733685e+102;
bool r313167 = r313159 <= r313166;
double r313168 = -r313159;
double r313169 = r313159 * r313159;
double r313170 = a;
double r313171 = r313170 * r313163;
double r313172 = r313169 - r313171;
double r313173 = sqrt(r313172);
double r313174 = r313168 - r313173;
double r313175 = 1.0;
double r313176 = r313175 / r313170;
double r313177 = r313174 * r313176;
double r313178 = 0.5;
double r313179 = -2.0;
double r313180 = r313159 / r313170;
double r313181 = r313179 * r313180;
double r313182 = fma(r313164, r313178, r313181);
double r313183 = r313167 ? r313177 : r313182;
double r313184 = r313161 ? r313165 : r313183;
return r313184;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -1.8774910265390396e-73Initial program 52.5
Taylor expanded around -inf 8.6
if -1.8774910265390396e-73 < b_2 < 2.5703497435733685e+102Initial program 13.1
rmApplied div-inv13.2
if 2.5703497435733685e+102 < b_2 Initial program 43.9
rmApplied div-inv44.0
Taylor expanded around inf 2.9
Simplified2.9
Final simplification9.9
herbie shell --seed 2019153 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))