\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.447353158240281 \cdot 10^{+75}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 4.615068992038193 \cdot 10^{-289}:\\
\;\;\;\;\frac{1}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot c\\
\mathbf{elif}\;b_2 \le 3.613539017061943 \cdot 10^{+138}:\\
\;\;\;\;\left(-\frac{b_2}{a}\right) - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{b_2 \cdot -2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r3727698 = b_2;
double r3727699 = -r3727698;
double r3727700 = r3727698 * r3727698;
double r3727701 = a;
double r3727702 = c;
double r3727703 = r3727701 * r3727702;
double r3727704 = r3727700 - r3727703;
double r3727705 = sqrt(r3727704);
double r3727706 = r3727699 - r3727705;
double r3727707 = r3727706 / r3727701;
return r3727707;
}
double f(double a, double b_2, double c) {
double r3727708 = b_2;
double r3727709 = -6.447353158240281e+75;
bool r3727710 = r3727708 <= r3727709;
double r3727711 = -0.5;
double r3727712 = c;
double r3727713 = r3727712 / r3727708;
double r3727714 = r3727711 * r3727713;
double r3727715 = 4.615068992038193e-289;
bool r3727716 = r3727708 <= r3727715;
double r3727717 = 1.0;
double r3727718 = r3727708 * r3727708;
double r3727719 = a;
double r3727720 = r3727719 * r3727712;
double r3727721 = r3727718 - r3727720;
double r3727722 = sqrt(r3727721);
double r3727723 = r3727722 - r3727708;
double r3727724 = r3727717 / r3727723;
double r3727725 = r3727724 * r3727712;
double r3727726 = 3.613539017061943e+138;
bool r3727727 = r3727708 <= r3727726;
double r3727728 = r3727708 / r3727719;
double r3727729 = -r3727728;
double r3727730 = r3727722 / r3727719;
double r3727731 = r3727729 - r3727730;
double r3727732 = -2.0;
double r3727733 = r3727708 * r3727732;
double r3727734 = r3727733 / r3727719;
double r3727735 = r3727727 ? r3727731 : r3727734;
double r3727736 = r3727716 ? r3727725 : r3727735;
double r3727737 = r3727710 ? r3727714 : r3727736;
return r3727737;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.447353158240281e+75Initial program 57.9
rmApplied flip--58.0
Simplified30.7
Simplified30.7
rmApplied clear-num31.0
Simplified31.0
rmApplied *-un-lft-identity31.0
Applied div-inv31.0
Applied add-cube-cbrt31.0
Applied times-frac30.8
Applied times-frac29.1
Simplified29.1
Simplified28.0
Taylor expanded around -inf 3.0
if -6.447353158240281e+75 < b_2 < 4.615068992038193e-289Initial program 29.4
rmApplied flip--29.5
Simplified15.7
Simplified15.7
rmApplied clear-num16.0
Simplified16.0
rmApplied *-un-lft-identity16.0
Applied div-inv16.5
Applied add-cube-cbrt16.5
Applied times-frac16.3
Applied times-frac15.8
Simplified15.8
Simplified8.9
if 4.615068992038193e-289 < b_2 < 3.613539017061943e+138Initial program 8.6
rmApplied div-sub8.6
if 3.613539017061943e+138 < b_2 Initial program 53.7
rmApplied flip--62.2
Simplified62.4
Simplified62.4
Taylor expanded around 0 2.7
Final simplification6.5
herbie shell --seed 2019143
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))