\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.1643926003340064 \cdot 10^{+104}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -2.2033917388951676 \cdot 10^{-187}:\\
\;\;\;\;\frac{\frac{c \cdot a}{a}}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}\\
\mathbf{elif}\;b_2 \le 5.704492581538356 \cdot 10^{+80}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{b_2 \cdot -2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r4031590 = b_2;
double r4031591 = -r4031590;
double r4031592 = r4031590 * r4031590;
double r4031593 = a;
double r4031594 = c;
double r4031595 = r4031593 * r4031594;
double r4031596 = r4031592 - r4031595;
double r4031597 = sqrt(r4031596);
double r4031598 = r4031591 - r4031597;
double r4031599 = r4031598 / r4031593;
return r4031599;
}
double f(double a, double b_2, double c) {
double r4031600 = b_2;
double r4031601 = -1.1643926003340064e+104;
bool r4031602 = r4031600 <= r4031601;
double r4031603 = -0.5;
double r4031604 = c;
double r4031605 = r4031604 / r4031600;
double r4031606 = r4031603 * r4031605;
double r4031607 = -2.2033917388951676e-187;
bool r4031608 = r4031600 <= r4031607;
double r4031609 = a;
double r4031610 = r4031604 * r4031609;
double r4031611 = r4031610 / r4031609;
double r4031612 = r4031600 * r4031600;
double r4031613 = r4031612 - r4031610;
double r4031614 = sqrt(r4031613);
double r4031615 = r4031614 - r4031600;
double r4031616 = r4031611 / r4031615;
double r4031617 = 5.704492581538356e+80;
bool r4031618 = r4031600 <= r4031617;
double r4031619 = -r4031600;
double r4031620 = r4031619 - r4031614;
double r4031621 = r4031620 / r4031609;
double r4031622 = -2.0;
double r4031623 = r4031600 * r4031622;
double r4031624 = r4031623 / r4031609;
double r4031625 = r4031618 ? r4031621 : r4031624;
double r4031626 = r4031608 ? r4031616 : r4031625;
double r4031627 = r4031602 ? r4031606 : r4031626;
return r4031627;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.1643926003340064e+104Initial program 59.0
Taylor expanded around -inf 2.0
if -1.1643926003340064e+104 < b_2 < -2.2033917388951676e-187Initial program 35.8
rmApplied flip--35.9
Simplified16.0
Simplified16.0
rmApplied *-un-lft-identity16.0
Applied *-un-lft-identity16.0
Applied *-un-lft-identity16.0
Applied distribute-lft-out--16.0
Applied *-un-lft-identity16.0
Applied times-frac16.0
Applied times-frac16.0
Simplified16.0
Simplified15.0
if -2.2033917388951676e-187 < b_2 < 5.704492581538356e+80Initial program 10.6
if 5.704492581538356e+80 < b_2 Initial program 40.2
rmApplied flip--61.3
Simplified61.4
Simplified61.4
Taylor expanded around 0 4.4
Final simplification8.5
herbie shell --seed 2019144
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))