\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -9661478263987.111328125:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.792446256118343513399316360203386878654 \cdot 10^{-145}:\\
\;\;\;\;\frac{c \cdot a}{b_2 - \sqrt{b_2 \cdot b_2 - c \cdot a}} \cdot \frac{-1}{a}\\
\mathbf{elif}\;b_2 \le 1.764973784792091233612894541626891615653 \cdot 10^{83}:\\
\;\;\;\;-\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} + b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2} \cdot c}{b_2} - \frac{b_2}{a} \cdot 2\\
\end{array}double f(double a, double b_2, double c) {
double r74059 = b_2;
double r74060 = -r74059;
double r74061 = r74059 * r74059;
double r74062 = a;
double r74063 = c;
double r74064 = r74062 * r74063;
double r74065 = r74061 - r74064;
double r74066 = sqrt(r74065);
double r74067 = r74060 - r74066;
double r74068 = r74067 / r74062;
return r74068;
}
double f(double a, double b_2, double c) {
double r74069 = b_2;
double r74070 = -9661478263987.111;
bool r74071 = r74069 <= r74070;
double r74072 = -0.5;
double r74073 = c;
double r74074 = r74073 / r74069;
double r74075 = r74072 * r74074;
double r74076 = -4.7924462561183435e-145;
bool r74077 = r74069 <= r74076;
double r74078 = a;
double r74079 = r74073 * r74078;
double r74080 = r74069 * r74069;
double r74081 = r74080 - r74079;
double r74082 = sqrt(r74081);
double r74083 = r74069 - r74082;
double r74084 = r74079 / r74083;
double r74085 = -1.0;
double r74086 = r74085 / r74078;
double r74087 = r74084 * r74086;
double r74088 = 1.7649737847920912e+83;
bool r74089 = r74069 <= r74088;
double r74090 = r74082 + r74069;
double r74091 = r74090 / r74078;
double r74092 = -r74091;
double r74093 = 0.5;
double r74094 = r74093 * r74073;
double r74095 = r74094 / r74069;
double r74096 = r74069 / r74078;
double r74097 = 2.0;
double r74098 = r74096 * r74097;
double r74099 = r74095 - r74098;
double r74100 = r74089 ? r74092 : r74099;
double r74101 = r74077 ? r74087 : r74100;
double r74102 = r74071 ? r74075 : r74101;
return r74102;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -9661478263987.111Initial program 56.4
Simplified56.4
Taylor expanded around -inf 5.0
if -9661478263987.111 < b_2 < -4.7924462561183435e-145Initial program 36.3
Simplified36.3
rmApplied flip-+36.3
Simplified17.4
rmApplied div-inv17.5
if -4.7924462561183435e-145 < b_2 < 1.7649737847920912e+83Initial program 11.1
Simplified11.1
if 1.7649737847920912e+83 < b_2 Initial program 43.7
Simplified43.7
Taylor expanded around inf 3.6
Simplified3.6
Final simplification8.6
herbie shell --seed 2019194
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))