\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -9.501658503658959535381027650257422342525 \cdot 10^{153}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 3.203463322495104127662247988126463798444 \cdot 10^{-228}:\\
\;\;\;\;\frac{\frac{1}{a} \cdot 0 + 1 \cdot c}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{elif}\;b_2 \le 6.568668442325333133869311590844159217228 \cdot 10^{48}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r67139 = b_2;
double r67140 = -r67139;
double r67141 = r67139 * r67139;
double r67142 = a;
double r67143 = c;
double r67144 = r67142 * r67143;
double r67145 = r67141 - r67144;
double r67146 = sqrt(r67145);
double r67147 = r67140 - r67146;
double r67148 = r67147 / r67142;
return r67148;
}
double f(double a, double b_2, double c) {
double r67149 = b_2;
double r67150 = -9.50165850365896e+153;
bool r67151 = r67149 <= r67150;
double r67152 = -0.5;
double r67153 = c;
double r67154 = r67153 / r67149;
double r67155 = r67152 * r67154;
double r67156 = 3.203463322495104e-228;
bool r67157 = r67149 <= r67156;
double r67158 = 1.0;
double r67159 = a;
double r67160 = r67158 / r67159;
double r67161 = 0.0;
double r67162 = r67160 * r67161;
double r67163 = r67158 * r67153;
double r67164 = r67162 + r67163;
double r67165 = -r67149;
double r67166 = r67149 * r67149;
double r67167 = r67159 * r67153;
double r67168 = r67166 - r67167;
double r67169 = sqrt(r67168);
double r67170 = r67165 + r67169;
double r67171 = r67164 / r67170;
double r67172 = 6.568668442325333e+48;
bool r67173 = r67149 <= r67172;
double r67174 = r67165 - r67169;
double r67175 = r67174 * r67160;
double r67176 = 0.5;
double r67177 = r67176 * r67154;
double r67178 = 2.0;
double r67179 = r67149 / r67159;
double r67180 = r67178 * r67179;
double r67181 = r67177 - r67180;
double r67182 = r67173 ? r67175 : r67181;
double r67183 = r67157 ? r67171 : r67182;
double r67184 = r67151 ? r67155 : r67183;
return r67184;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -9.50165850365896e+153Initial program 64.0
Taylor expanded around -inf 1.6
if -9.50165850365896e+153 < b_2 < 3.203463322495104e-228Initial program 31.4
rmApplied div-inv31.5
rmApplied flip--31.5
Applied associate-*l/31.6
Simplified14.7
rmApplied *-un-lft-identity14.7
Applied *-un-lft-identity14.7
Applied times-frac14.7
Applied associate-*l*14.7
Simplified9.2
if 3.203463322495104e-228 < b_2 < 6.568668442325333e+48Initial program 9.1
rmApplied div-inv9.2
if 6.568668442325333e+48 < b_2 Initial program 39.1
Taylor expanded around inf 5.3
Final simplification7.1
herbie shell --seed 2019344
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))