\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.709051322868216 \cdot 10^{+150}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.5270348471001126 \cdot 10^{-284}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 7.774374944213099 \cdot 10^{+79}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r1212261 = b_2;
double r1212262 = -r1212261;
double r1212263 = r1212261 * r1212261;
double r1212264 = a;
double r1212265 = c;
double r1212266 = r1212264 * r1212265;
double r1212267 = r1212263 - r1212266;
double r1212268 = sqrt(r1212267);
double r1212269 = r1212262 - r1212268;
double r1212270 = r1212269 / r1212264;
return r1212270;
}
double f(double a, double b_2, double c) {
double r1212271 = b_2;
double r1212272 = -5.709051322868216e+150;
bool r1212273 = r1212271 <= r1212272;
double r1212274 = -0.5;
double r1212275 = c;
double r1212276 = r1212275 / r1212271;
double r1212277 = r1212274 * r1212276;
double r1212278 = 1.5270348471001126e-284;
bool r1212279 = r1212271 <= r1212278;
double r1212280 = r1212271 * r1212271;
double r1212281 = a;
double r1212282 = r1212281 * r1212275;
double r1212283 = r1212280 - r1212282;
double r1212284 = sqrt(r1212283);
double r1212285 = r1212284 - r1212271;
double r1212286 = r1212275 / r1212285;
double r1212287 = 7.774374944213099e+79;
bool r1212288 = r1212271 <= r1212287;
double r1212289 = 1.0;
double r1212290 = -r1212271;
double r1212291 = r1212290 - r1212284;
double r1212292 = r1212281 / r1212291;
double r1212293 = r1212289 / r1212292;
double r1212294 = -2.0;
double r1212295 = r1212271 / r1212281;
double r1212296 = r1212294 * r1212295;
double r1212297 = r1212288 ? r1212293 : r1212296;
double r1212298 = r1212279 ? r1212286 : r1212297;
double r1212299 = r1212273 ? r1212277 : r1212298;
return r1212299;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.709051322868216e+150Initial program 62.7
Taylor expanded around -inf 1.1
if -5.709051322868216e+150 < b_2 < 1.5270348471001126e-284Initial program 32.2
rmApplied flip--32.3
Simplified15.3
Simplified15.3
rmApplied *-un-lft-identity15.3
Applied *-un-lft-identity15.3
Applied *-un-lft-identity15.3
Applied distribute-lft-out--15.3
Applied *-un-lft-identity15.3
Applied times-frac15.3
Applied times-frac15.3
Simplified15.3
Simplified19.2
rmApplied associate-/r*13.8
Simplified7.9
if 1.5270348471001126e-284 < b_2 < 7.774374944213099e+79Initial program 9.1
rmApplied *-un-lft-identity9.1
Applied associate-/l*9.3
if 7.774374944213099e+79 < b_2 Initial program 40.0
rmApplied *-un-lft-identity40.0
Applied associate-/l*40.1
Taylor expanded around 0 4.2
Final simplification6.3
herbie shell --seed 2019144 +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))