\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.16299820169664 \cdot 10^{-118}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 1.37297999284257527 \cdot 10^{84}:\\
\;\;\;\;\frac{1}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}} \cdot c\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r18219 = b_2;
double r18220 = -r18219;
double r18221 = r18219 * r18219;
double r18222 = a;
double r18223 = c;
double r18224 = r18222 * r18223;
double r18225 = r18221 - r18224;
double r18226 = sqrt(r18225);
double r18227 = r18220 + r18226;
double r18228 = r18227 / r18222;
return r18228;
}
double f(double a, double b_2, double c) {
double r18229 = b_2;
double r18230 = -3.16299820169664e-118;
bool r18231 = r18229 <= r18230;
double r18232 = 0.5;
double r18233 = c;
double r18234 = r18233 / r18229;
double r18235 = r18232 * r18234;
double r18236 = 2.0;
double r18237 = a;
double r18238 = r18229 / r18237;
double r18239 = r18236 * r18238;
double r18240 = r18235 - r18239;
double r18241 = 1.3729799928425753e+84;
bool r18242 = r18229 <= r18241;
double r18243 = 1.0;
double r18244 = -r18229;
double r18245 = r18229 * r18229;
double r18246 = r18237 * r18233;
double r18247 = r18245 - r18246;
double r18248 = sqrt(r18247);
double r18249 = r18244 - r18248;
double r18250 = r18243 / r18249;
double r18251 = r18250 * r18233;
double r18252 = -0.5;
double r18253 = r18252 * r18234;
double r18254 = r18242 ? r18251 : r18253;
double r18255 = r18231 ? r18240 : r18254;
return r18255;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.16299820169664e-118Initial program 25.3
Taylor expanded around -inf 13.7
if -3.16299820169664e-118 < b_2 < 1.3729799928425753e+84Initial program 26.4
rmApplied flip-+27.7
Simplified16.7
rmApplied *-un-lft-identity16.7
Applied *-un-lft-identity16.7
Applied times-frac16.7
Simplified16.7
Simplified15.2
rmApplied clear-num15.1
Simplified12.3
rmApplied div-inv12.3
Applied add-cube-cbrt12.3
Applied times-frac12.2
Simplified12.2
Simplified12.1
if 1.3729799928425753e+84 < b_2 Initial program 58.6
Taylor expanded around inf 2.9
Final simplification10.3
herbie shell --seed 2020056
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))