\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.5244621186076104 \cdot 10^{+55}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -6.029020104220027 \cdot 10^{-124}:\\
\;\;\;\;\frac{\frac{c \cdot a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le 2.35488256262753 \cdot 10^{+48}:\\
\;\;\;\;\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 r3377929 = b_2;
double r3377930 = -r3377929;
double r3377931 = r3377929 * r3377929;
double r3377932 = a;
double r3377933 = c;
double r3377934 = r3377932 * r3377933;
double r3377935 = r3377931 - r3377934;
double r3377936 = sqrt(r3377935);
double r3377937 = r3377930 - r3377936;
double r3377938 = r3377937 / r3377932;
return r3377938;
}
double f(double a, double b_2, double c) {
double r3377939 = b_2;
double r3377940 = -1.5244621186076104e+55;
bool r3377941 = r3377939 <= r3377940;
double r3377942 = -0.5;
double r3377943 = c;
double r3377944 = r3377943 / r3377939;
double r3377945 = r3377942 * r3377944;
double r3377946 = -6.029020104220027e-124;
bool r3377947 = r3377939 <= r3377946;
double r3377948 = a;
double r3377949 = r3377943 * r3377948;
double r3377950 = r3377939 * r3377939;
double r3377951 = r3377950 - r3377949;
double r3377952 = sqrt(r3377951);
double r3377953 = r3377952 - r3377939;
double r3377954 = r3377949 / r3377953;
double r3377955 = r3377954 / r3377948;
double r3377956 = 2.35488256262753e+48;
bool r3377957 = r3377939 <= r3377956;
double r3377958 = 1.0;
double r3377959 = -r3377939;
double r3377960 = r3377959 - r3377952;
double r3377961 = r3377948 / r3377960;
double r3377962 = r3377958 / r3377961;
double r3377963 = 0.5;
double r3377964 = r3377963 * r3377944;
double r3377965 = r3377939 / r3377948;
double r3377966 = 2.0;
double r3377967 = r3377965 * r3377966;
double r3377968 = r3377964 - r3377967;
double r3377969 = r3377957 ? r3377962 : r3377968;
double r3377970 = r3377947 ? r3377955 : r3377969;
double r3377971 = r3377941 ? r3377945 : r3377970;
return r3377971;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.5244621186076104e+55Initial program 56.2
Taylor expanded around -inf 4.1
if -1.5244621186076104e+55 < b_2 < -6.029020104220027e-124Initial program 38.6
rmApplied flip--38.7
Simplified15.5
Simplified15.5
if -6.029020104220027e-124 < b_2 < 2.35488256262753e+48Initial program 12.5
rmApplied clear-num12.6
if 2.35488256262753e+48 < b_2 Initial program 35.6
Taylor expanded around inf 5.1
Final simplification9.2
herbie shell --seed 2019164
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))