\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.3041251107393795 \cdot 10^{+48}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.475531474079766 \cdot 10^{-133}:\\
\;\;\;\;\left(\frac{\frac{\sqrt[3]{a}}{\sqrt{\sqrt[3]{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}}}{\sqrt[3]{a}} \cdot \left(\frac{\sqrt[3]{a}}{\left|\sqrt[3]{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}\right|} \cdot \frac{\sqrt[3]{a}}{\sqrt[3]{a}}\right)\right) \cdot \frac{\frac{c}{\sqrt{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}}{\sqrt[3]{a}}\\
\mathbf{elif}\;b_2 \le 9.19242293018462 \cdot 10^{+63}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\
\end{array}double f(double a, double b_2, double c) {
double r3765002 = b_2;
double r3765003 = -r3765002;
double r3765004 = r3765002 * r3765002;
double r3765005 = a;
double r3765006 = c;
double r3765007 = r3765005 * r3765006;
double r3765008 = r3765004 - r3765007;
double r3765009 = sqrt(r3765008);
double r3765010 = r3765003 - r3765009;
double r3765011 = r3765010 / r3765005;
return r3765011;
}
double f(double a, double b_2, double c) {
double r3765012 = b_2;
double r3765013 = -1.3041251107393795e+48;
bool r3765014 = r3765012 <= r3765013;
double r3765015 = -0.5;
double r3765016 = c;
double r3765017 = r3765016 / r3765012;
double r3765018 = r3765015 * r3765017;
double r3765019 = -4.475531474079766e-133;
bool r3765020 = r3765012 <= r3765019;
double r3765021 = a;
double r3765022 = cbrt(r3765021);
double r3765023 = r3765012 * r3765012;
double r3765024 = r3765016 * r3765021;
double r3765025 = r3765023 - r3765024;
double r3765026 = sqrt(r3765025);
double r3765027 = r3765026 - r3765012;
double r3765028 = cbrt(r3765027);
double r3765029 = sqrt(r3765028);
double r3765030 = r3765022 / r3765029;
double r3765031 = r3765030 / r3765022;
double r3765032 = fabs(r3765028);
double r3765033 = r3765022 / r3765032;
double r3765034 = r3765022 / r3765022;
double r3765035 = r3765033 * r3765034;
double r3765036 = r3765031 * r3765035;
double r3765037 = sqrt(r3765027);
double r3765038 = r3765016 / r3765037;
double r3765039 = r3765038 / r3765022;
double r3765040 = r3765036 * r3765039;
double r3765041 = 9.19242293018462e+63;
bool r3765042 = r3765012 <= r3765041;
double r3765043 = 1.0;
double r3765044 = -r3765012;
double r3765045 = r3765044 - r3765026;
double r3765046 = r3765021 / r3765045;
double r3765047 = r3765043 / r3765046;
double r3765048 = 0.5;
double r3765049 = r3765048 * r3765017;
double r3765050 = r3765012 / r3765021;
double r3765051 = 2.0;
double r3765052 = r3765050 * r3765051;
double r3765053 = r3765049 - r3765052;
double r3765054 = r3765042 ? r3765047 : r3765053;
double r3765055 = r3765020 ? r3765040 : r3765054;
double r3765056 = r3765014 ? r3765018 : r3765055;
return r3765056;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.3041251107393795e+48Initial program 55.8
Taylor expanded around -inf 4.0
if -1.3041251107393795e+48 < b_2 < -4.475531474079766e-133Initial program 37.7
rmApplied flip--37.8
Simplified15.4
Simplified15.4
rmApplied add-cube-cbrt16.1
Applied add-sqr-sqrt16.1
Applied times-frac13.5
Applied times-frac9.4
rmApplied add-cube-cbrt9.5
Applied sqrt-prod9.5
Applied add-cube-cbrt9.0
Applied times-frac9.0
Applied times-frac8.9
Simplified8.9
if -4.475531474079766e-133 < b_2 < 9.19242293018462e+63Initial program 11.8
rmApplied clear-num12.0
if 9.19242293018462e+63 < b_2 Initial program 38.1
Taylor expanded around inf 4.5
Final simplification7.9
herbie shell --seed 2019158
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))