\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.232834657182634 \cdot 10^{+85}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -2.958298658834631 \cdot 10^{-149}:\\
\;\;\;\;\frac{c \cdot a}{a \cdot \left(\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - c \cdot a}\right)}\\
\mathbf{elif}\;b_2 \le 3.8685970339297164 \cdot 10^{+90}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r3708646 = b_2;
double r3708647 = -r3708646;
double r3708648 = r3708646 * r3708646;
double r3708649 = a;
double r3708650 = c;
double r3708651 = r3708649 * r3708650;
double r3708652 = r3708648 - r3708651;
double r3708653 = sqrt(r3708652);
double r3708654 = r3708647 - r3708653;
double r3708655 = r3708654 / r3708649;
return r3708655;
}
double f(double a, double b_2, double c) {
double r3708656 = b_2;
double r3708657 = -4.232834657182634e+85;
bool r3708658 = r3708656 <= r3708657;
double r3708659 = -0.5;
double r3708660 = c;
double r3708661 = r3708660 / r3708656;
double r3708662 = r3708659 * r3708661;
double r3708663 = -2.958298658834631e-149;
bool r3708664 = r3708656 <= r3708663;
double r3708665 = a;
double r3708666 = r3708660 * r3708665;
double r3708667 = -r3708656;
double r3708668 = r3708656 * r3708656;
double r3708669 = r3708668 - r3708666;
double r3708670 = sqrt(r3708669);
double r3708671 = r3708667 + r3708670;
double r3708672 = r3708665 * r3708671;
double r3708673 = r3708666 / r3708672;
double r3708674 = 3.8685970339297164e+90;
bool r3708675 = r3708656 <= r3708674;
double r3708676 = r3708667 - r3708670;
double r3708677 = r3708676 / r3708665;
double r3708678 = -2.0;
double r3708679 = r3708656 / r3708665;
double r3708680 = r3708678 * r3708679;
double r3708681 = r3708675 ? r3708677 : r3708680;
double r3708682 = r3708664 ? r3708673 : r3708681;
double r3708683 = r3708658 ? r3708662 : r3708682;
return r3708683;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -4.232834657182634e+85Initial program 57.9
Taylor expanded around -inf 2.5
if -4.232834657182634e+85 < b_2 < -2.958298658834631e-149Initial program 38.7
rmApplied flip--38.8
Applied associate-/l/41.9
Simplified18.9
if -2.958298658834631e-149 < b_2 < 3.8685970339297164e+90Initial program 11.9
rmApplied clear-num12.0
rmApplied *-un-lft-identity12.0
Applied *-un-lft-identity12.0
Applied distribute-lft-out--12.0
Applied *-un-lft-identity12.0
Applied times-frac12.0
Applied add-cube-cbrt12.0
Applied times-frac12.0
Simplified12.0
Simplified11.9
if 3.8685970339297164e+90 < b_2 Initial program 42.2
rmApplied clear-num42.3
Taylor expanded around 0 3.9
Final simplification9.7
herbie shell --seed 2019112
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))