\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -128467017418558619648:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -3.43876958772637578815854414301947050583 \cdot 10^{-134}:\\
\;\;\;\;\frac{\frac{a \cdot c}{\frac{a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{a}\\
\mathbf{elif}\;b_2 \le 6.190496209585126281868131365991188760623 \cdot 10^{153}:\\
\;\;\;\;\frac{c}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r25255 = b_2;
double r25256 = -r25255;
double r25257 = r25255 * r25255;
double r25258 = a;
double r25259 = c;
double r25260 = r25258 * r25259;
double r25261 = r25257 - r25260;
double r25262 = sqrt(r25261);
double r25263 = r25256 + r25262;
double r25264 = r25263 / r25258;
return r25264;
}
double f(double a, double b_2, double c) {
double r25265 = b_2;
double r25266 = -1.2846701741855862e+20;
bool r25267 = r25265 <= r25266;
double r25268 = 0.5;
double r25269 = c;
double r25270 = r25269 / r25265;
double r25271 = r25268 * r25270;
double r25272 = 2.0;
double r25273 = a;
double r25274 = r25265 / r25273;
double r25275 = r25272 * r25274;
double r25276 = r25271 - r25275;
double r25277 = -3.438769587726376e-134;
bool r25278 = r25265 <= r25277;
double r25279 = r25273 * r25269;
double r25280 = r25265 * r25265;
double r25281 = r25280 - r25279;
double r25282 = sqrt(r25281);
double r25283 = r25282 - r25265;
double r25284 = r25279 / r25283;
double r25285 = r25279 / r25284;
double r25286 = r25285 / r25273;
double r25287 = 6.190496209585126e+153;
bool r25288 = r25265 <= r25287;
double r25289 = -r25265;
double r25290 = r25289 - r25282;
double r25291 = r25269 / r25290;
double r25292 = -0.5;
double r25293 = r25292 * r25270;
double r25294 = r25288 ? r25291 : r25293;
double r25295 = r25278 ? r25286 : r25294;
double r25296 = r25267 ? r25276 : r25295;
return r25296;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.2846701741855862e+20Initial program 34.5
Taylor expanded around -inf 6.0
if -1.2846701741855862e+20 < b_2 < -3.438769587726376e-134Initial program 4.7
rmApplied flip-+37.0
Simplified37.1
rmApplied flip--37.1
Simplified16.0
Simplified16.0
if -3.438769587726376e-134 < b_2 < 6.190496209585126e+153Initial program 30.2
rmApplied flip-+31.1
Simplified16.9
rmApplied *-un-lft-identity16.9
Applied *-un-lft-identity16.9
Applied times-frac16.9
Simplified16.9
Simplified10.5
if 6.190496209585126e+153 < b_2 Initial program 64.0
Taylor expanded around inf 1.5
Final simplification8.5
herbie shell --seed 2019325
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))