\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.513258824878011748257049801344805265531 \cdot 10^{152}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 8.216265756828381163830890149037103205802 \cdot 10^{-276}:\\
\;\;\;\;\frac{c}{\sqrt{{b_2}^{2} - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 5.031608061939102936286074782173578716838 \cdot 10^{53}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{2}, \frac{c}{b_2}, \frac{b_2}{a} \cdot -2\right)\\
\end{array}double f(double a, double b_2, double c) {
double r77450 = b_2;
double r77451 = -r77450;
double r77452 = r77450 * r77450;
double r77453 = a;
double r77454 = c;
double r77455 = r77453 * r77454;
double r77456 = r77452 - r77455;
double r77457 = sqrt(r77456);
double r77458 = r77451 - r77457;
double r77459 = r77458 / r77453;
return r77459;
}
double f(double a, double b_2, double c) {
double r77460 = b_2;
double r77461 = -3.5132588248780117e+152;
bool r77462 = r77460 <= r77461;
double r77463 = -0.5;
double r77464 = c;
double r77465 = r77464 / r77460;
double r77466 = r77463 * r77465;
double r77467 = 8.216265756828381e-276;
bool r77468 = r77460 <= r77467;
double r77469 = 2.0;
double r77470 = pow(r77460, r77469);
double r77471 = a;
double r77472 = r77471 * r77464;
double r77473 = r77470 - r77472;
double r77474 = sqrt(r77473);
double r77475 = r77474 - r77460;
double r77476 = r77464 / r77475;
double r77477 = 5.031608061939103e+53;
bool r77478 = r77460 <= r77477;
double r77479 = 1.0;
double r77480 = -r77460;
double r77481 = r77460 * r77460;
double r77482 = r77481 - r77472;
double r77483 = sqrt(r77482);
double r77484 = r77480 - r77483;
double r77485 = r77471 / r77484;
double r77486 = r77479 / r77485;
double r77487 = 0.5;
double r77488 = r77460 / r77471;
double r77489 = -2.0;
double r77490 = r77488 * r77489;
double r77491 = fma(r77487, r77465, r77490);
double r77492 = r77478 ? r77486 : r77491;
double r77493 = r77468 ? r77476 : r77492;
double r77494 = r77462 ? r77466 : r77493;
return r77494;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -3.5132588248780117e+152Initial program 63.9
Taylor expanded around -inf 1.4
if -3.5132588248780117e+152 < b_2 < 8.216265756828381e-276Initial program 33.1
rmApplied flip--33.1
Simplified15.2
Simplified15.2
rmApplied div-inv15.3
rmApplied *-un-lft-identity15.3
Applied *-un-lft-identity15.3
Applied times-frac15.3
Applied associate-*l*15.3
Simplified7.8
if 8.216265756828381e-276 < b_2 < 5.031608061939103e+53Initial program 9.3
rmApplied clear-num9.5
if 5.031608061939103e+53 < b_2 Initial program 39.6
Taylor expanded around inf 5.7
Simplified5.7
Final simplification6.6
herbie shell --seed 2019326 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))