\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{b_2}{a}, -2, \frac{\frac{1}{2}}{\frac{b_2}{c}}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r1100157 = b_2;
double r1100158 = -r1100157;
double r1100159 = r1100157 * r1100157;
double r1100160 = a;
double r1100161 = c;
double r1100162 = r1100160 * r1100161;
double r1100163 = r1100159 - r1100162;
double r1100164 = sqrt(r1100163);
double r1100165 = r1100158 - r1100164;
double r1100166 = r1100165 / r1100160;
return r1100166;
}
double f(double a, double b_2, double c) {
double r1100167 = b_2;
double r1100168 = -1.8774910265390396e-73;
bool r1100169 = r1100167 <= r1100168;
double r1100170 = -0.5;
double r1100171 = c;
double r1100172 = r1100171 / r1100167;
double r1100173 = r1100170 * r1100172;
double r1100174 = 2.5703497435733685e+102;
bool r1100175 = r1100167 <= r1100174;
double r1100176 = -r1100167;
double r1100177 = r1100167 * r1100167;
double r1100178 = a;
double r1100179 = r1100178 * r1100171;
double r1100180 = r1100177 - r1100179;
double r1100181 = sqrt(r1100180);
double r1100182 = r1100176 - r1100181;
double r1100183 = 1.0;
double r1100184 = r1100183 / r1100178;
double r1100185 = r1100182 * r1100184;
double r1100186 = r1100167 / r1100178;
double r1100187 = -2.0;
double r1100188 = 0.5;
double r1100189 = r1100167 / r1100171;
double r1100190 = r1100188 / r1100189;
double r1100191 = fma(r1100186, r1100187, r1100190);
double r1100192 = r1100175 ? r1100185 : r1100191;
double r1100193 = r1100169 ? r1100173 : r1100192;
return r1100193;
}



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
Taylor expanded around inf 2.9
Simplified2.9
Final simplification9.9
herbie shell --seed 2019153 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))