\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.44666123176016780594980092347699614144 \cdot 10^{151}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.12333471942415508636906215603303726066 \cdot 10^{-161}:\\
\;\;\;\;\frac{c}{\sqrt{\mathsf{fma}\left(b_2, b_2, -c \cdot a\right)} - b_2}\\
\mathbf{elif}\;b_2 \le 1.104385716015500810854693836311545666138 \cdot 10^{144}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{c}{b_2}, \frac{1}{2}, -2 \cdot \frac{b_2}{a}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r27266 = b_2;
double r27267 = -r27266;
double r27268 = r27266 * r27266;
double r27269 = a;
double r27270 = c;
double r27271 = r27269 * r27270;
double r27272 = r27268 - r27271;
double r27273 = sqrt(r27272);
double r27274 = r27267 - r27273;
double r27275 = r27274 / r27269;
return r27275;
}
double f(double a, double b_2, double c) {
double r27276 = b_2;
double r27277 = -2.4466612317601678e+151;
bool r27278 = r27276 <= r27277;
double r27279 = -0.5;
double r27280 = c;
double r27281 = r27280 / r27276;
double r27282 = r27279 * r27281;
double r27283 = 1.123334719424155e-161;
bool r27284 = r27276 <= r27283;
double r27285 = a;
double r27286 = r27280 * r27285;
double r27287 = -r27286;
double r27288 = fma(r27276, r27276, r27287);
double r27289 = sqrt(r27288);
double r27290 = r27289 - r27276;
double r27291 = r27280 / r27290;
double r27292 = 1.1043857160155008e+144;
bool r27293 = r27276 <= r27292;
double r27294 = 1.0;
double r27295 = -r27276;
double r27296 = r27276 * r27276;
double r27297 = r27285 * r27280;
double r27298 = r27296 - r27297;
double r27299 = sqrt(r27298);
double r27300 = r27295 - r27299;
double r27301 = r27285 / r27300;
double r27302 = r27294 / r27301;
double r27303 = 0.5;
double r27304 = -2.0;
double r27305 = r27276 / r27285;
double r27306 = r27304 * r27305;
double r27307 = fma(r27281, r27303, r27306);
double r27308 = r27293 ? r27302 : r27307;
double r27309 = r27284 ? r27291 : r27308;
double r27310 = r27278 ? r27282 : r27309;
return r27310;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -2.4466612317601678e+151Initial program 63.7
Taylor expanded around -inf 1.2
if -2.4466612317601678e+151 < b_2 < 1.123334719424155e-161Initial program 31.1
rmApplied flip--31.3
Simplified16.2
Simplified16.2
rmApplied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied times-frac16.2
Applied times-frac16.2
Simplified16.2
Simplified9.4
if 1.123334719424155e-161 < b_2 < 1.1043857160155008e+144Initial program 6.1
rmApplied clear-num6.3
if 1.1043857160155008e+144 < b_2 Initial program 59.6
rmApplied flip--63.9
Simplified62.7
Simplified62.7
rmApplied clear-num62.7
Simplified62.5
Taylor expanded around inf 2.3
Simplified2.3
Final simplification6.3
herbie shell --seed 2019325 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))