\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{\mathsf{fma}\left(-c, a, b_2 \cdot b_2\right)} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le 5.9911994584698608 \cdot 10^{103}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{{b_2}^{2} - c \cdot a}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{2}, \frac{c}{b_2}, -2 \cdot \frac{b_2}{a}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r28258 = b_2;
double r28259 = -r28258;
double r28260 = r28258 * r28258;
double r28261 = a;
double r28262 = c;
double r28263 = r28261 * r28262;
double r28264 = r28260 - r28263;
double r28265 = sqrt(r28264);
double r28266 = r28259 - r28265;
double r28267 = r28266 / r28261;
return r28267;
}
double f(double a, double b_2, double c) {
double r28268 = b_2;
double r28269 = -1.6806111715441095e-29;
bool r28270 = r28268 <= r28269;
double r28271 = -0.5;
double r28272 = c;
double r28273 = r28272 / r28268;
double r28274 = r28271 * r28273;
double r28275 = -2.534983011264385e-83;
bool r28276 = r28268 <= r28275;
double r28277 = a;
double r28278 = r28277 * r28272;
double r28279 = -r28272;
double r28280 = r28268 * r28268;
double r28281 = fma(r28279, r28277, r28280);
double r28282 = sqrt(r28281);
double r28283 = r28282 - r28268;
double r28284 = r28278 / r28283;
double r28285 = r28284 / r28277;
double r28286 = 5.991199458469861e+103;
bool r28287 = r28268 <= r28286;
double r28288 = 1.0;
double r28289 = -r28268;
double r28290 = 2.0;
double r28291 = pow(r28268, r28290);
double r28292 = r28272 * r28277;
double r28293 = r28291 - r28292;
double r28294 = sqrt(r28293);
double r28295 = r28289 - r28294;
double r28296 = r28277 / r28295;
double r28297 = r28288 / r28296;
double r28298 = 0.5;
double r28299 = -2.0;
double r28300 = r28268 / r28277;
double r28301 = r28299 * r28300;
double r28302 = fma(r28298, r28273, r28301);
double r28303 = r28287 ? r28297 : r28302;
double r28304 = r28276 ? r28285 : r28303;
double r28305 = r28270 ? r28274 : r28304;
return r28305;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
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
Simplified12.1
if 5.991199458469861e+103 < b_2 Initial program 48.7
Taylor expanded around inf 4.1
Simplified4.1
Final simplification9.1
herbie shell --seed 2019198 +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))