\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.256826279459623886155459132503749770426 \cdot 10^{138}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -5.489520038969419318018107519878377265481 \cdot 10^{-285}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 84394753974248718336:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{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 r17295 = b_2;
double r17296 = -r17295;
double r17297 = r17295 * r17295;
double r17298 = a;
double r17299 = c;
double r17300 = r17298 * r17299;
double r17301 = r17297 - r17300;
double r17302 = sqrt(r17301);
double r17303 = r17296 - r17302;
double r17304 = r17303 / r17298;
return r17304;
}
double f(double a, double b_2, double c) {
double r17305 = b_2;
double r17306 = -6.256826279459624e+138;
bool r17307 = r17305 <= r17306;
double r17308 = -0.5;
double r17309 = c;
double r17310 = r17309 / r17305;
double r17311 = r17308 * r17310;
double r17312 = -5.489520038969419e-285;
bool r17313 = r17305 <= r17312;
double r17314 = r17305 * r17305;
double r17315 = a;
double r17316 = r17315 * r17309;
double r17317 = r17314 - r17316;
double r17318 = sqrt(r17317);
double r17319 = r17318 - r17305;
double r17320 = r17309 / r17319;
double r17321 = 8.439475397424872e+19;
bool r17322 = r17305 <= r17321;
double r17323 = -r17305;
double r17324 = r17323 - r17318;
double r17325 = r17324 / r17315;
double r17326 = 0.5;
double r17327 = r17326 * r17310;
double r17328 = 2.0;
double r17329 = r17305 / r17315;
double r17330 = r17328 * r17329;
double r17331 = r17327 - r17330;
double r17332 = r17322 ? r17325 : r17331;
double r17333 = r17313 ? r17320 : r17332;
double r17334 = r17307 ? r17311 : r17333;
return r17334;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.256826279459624e+138Initial program 62.5
Taylor expanded around -inf 1.8
if -6.256826279459624e+138 < b_2 < -5.489520038969419e-285Initial program 35.1
rmApplied flip--35.1
Simplified16.0
Simplified16.0
rmApplied *-un-lft-identity16.0
Applied *-un-lft-identity16.0
Applied times-frac16.0
Simplified16.0
Simplified7.5
if -5.489520038969419e-285 < b_2 < 8.439475397424872e+19Initial program 9.5
if 8.439475397424872e+19 < b_2 Initial program 34.5
Taylor expanded around inf 6.8
Final simplification6.7
herbie shell --seed 2019350
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))