\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.99946224548089213456388959139204668765 \cdot 10^{73}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.296272708131498829504916428849430668856 \cdot 10^{-127}:\\
\;\;\;\;\frac{\frac{a \cdot c}{a}}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 5.748502676649782580252214156933339561376 \cdot 10^{143}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{b_2}{a} \cdot -2\\
\end{array}double f(double a, double b_2, double c) {
double r3347445 = b_2;
double r3347446 = -r3347445;
double r3347447 = r3347445 * r3347445;
double r3347448 = a;
double r3347449 = c;
double r3347450 = r3347448 * r3347449;
double r3347451 = r3347447 - r3347450;
double r3347452 = sqrt(r3347451);
double r3347453 = r3347446 - r3347452;
double r3347454 = r3347453 / r3347448;
return r3347454;
}
double f(double a, double b_2, double c) {
double r3347455 = b_2;
double r3347456 = -5.999462245480892e+73;
bool r3347457 = r3347455 <= r3347456;
double r3347458 = -0.5;
double r3347459 = c;
double r3347460 = r3347459 / r3347455;
double r3347461 = r3347458 * r3347460;
double r3347462 = -4.296272708131499e-127;
bool r3347463 = r3347455 <= r3347462;
double r3347464 = a;
double r3347465 = r3347464 * r3347459;
double r3347466 = r3347465 / r3347464;
double r3347467 = r3347455 * r3347455;
double r3347468 = r3347467 - r3347465;
double r3347469 = sqrt(r3347468);
double r3347470 = r3347469 - r3347455;
double r3347471 = r3347466 / r3347470;
double r3347472 = 5.748502676649783e+143;
bool r3347473 = r3347455 <= r3347472;
double r3347474 = -r3347455;
double r3347475 = r3347474 / r3347464;
double r3347476 = r3347469 / r3347464;
double r3347477 = r3347475 - r3347476;
double r3347478 = r3347455 / r3347464;
double r3347479 = -2.0;
double r3347480 = r3347478 * r3347479;
double r3347481 = r3347473 ? r3347477 : r3347480;
double r3347482 = r3347463 ? r3347471 : r3347481;
double r3347483 = r3347457 ? r3347461 : r3347482;
return r3347483;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.999462245480892e+73Initial program 58.3
Taylor expanded around -inf 3.4
if -5.999462245480892e+73 < b_2 < -4.296272708131499e-127Initial program 40.0
rmApplied flip--40.0
Simplified15.6
Simplified15.6
rmApplied *-un-lft-identity15.6
Applied times-frac13.7
Simplified13.7
rmApplied div-inv13.8
rmApplied associate-*r/15.7
Applied associate-*l/14.8
Simplified14.7
if -4.296272708131499e-127 < b_2 < 5.748502676649783e+143Initial program 11.3
rmApplied div-sub11.2
if 5.748502676649783e+143 < b_2 Initial program 59.9
rmApplied flip--63.9
Simplified62.7
Simplified62.7
rmApplied *-un-lft-identity62.7
Applied times-frac62.6
Simplified62.6
rmApplied div-inv62.6
Taylor expanded around 0 2.2
Final simplification8.6
herbie shell --seed 2019200
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))