\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -8.7237121667270365 \cdot 10^{113}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.51349304478110011 \cdot 10^{-103}:\\
\;\;\;\;\frac{1}{\frac{1}{c} \cdot \left(\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2\right)}\\
\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 r16253 = b_2;
double r16254 = -r16253;
double r16255 = r16253 * r16253;
double r16256 = a;
double r16257 = c;
double r16258 = r16256 * r16257;
double r16259 = r16255 - r16258;
double r16260 = sqrt(r16259);
double r16261 = r16254 - r16260;
double r16262 = r16261 / r16256;
return r16262;
}
double f(double a, double b_2, double c) {
double r16263 = b_2;
double r16264 = -8.723712166727036e+113;
bool r16265 = r16263 <= r16264;
double r16266 = -0.5;
double r16267 = c;
double r16268 = r16267 / r16263;
double r16269 = r16266 * r16268;
double r16270 = 1.5134930447811e-103;
bool r16271 = r16263 <= r16270;
double r16272 = 1.0;
double r16273 = r16272 / r16267;
double r16274 = r16263 * r16263;
double r16275 = a;
double r16276 = r16275 * r16267;
double r16277 = r16274 - r16276;
double r16278 = sqrt(r16277);
double r16279 = r16278 - r16263;
double r16280 = r16273 * r16279;
double r16281 = r16272 / r16280;
double r16282 = 0.5;
double r16283 = r16282 * r16268;
double r16284 = 2.0;
double r16285 = r16263 / r16275;
double r16286 = r16284 * r16285;
double r16287 = r16283 - r16286;
double r16288 = r16271 ? r16281 : r16287;
double r16289 = r16265 ? r16269 : r16288;
return r16289;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -8.723712166727036e+113Initial program 60.6
Taylor expanded around -inf 2.2
if -8.723712166727036e+113 < b_2 < 1.5134930447811e-103Initial program 26.8
rmApplied flip--28.5
Simplified17.0
Simplified17.0
rmApplied *-un-lft-identity17.0
Applied *-un-lft-identity17.0
Applied times-frac17.0
Applied associate-/l*17.2
Simplified16.4
rmApplied clear-num16.4
Simplified12.1
if 1.5134930447811e-103 < b_2 Initial program 25.7
Taylor expanded around inf 12.4
Final simplification10.0
herbie shell --seed 2020021
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))