\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.157094219357017 \cdot 10^{+135}:\\
\;\;\;\;\left(\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a}\right) - \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 5.369711498123029 \cdot 10^{-186}:\\
\;\;\;\;\frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a} - \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 1.743659918667874 \cdot 10^{+75}:\\
\;\;\;\;\frac{-c}{\sqrt{b_2 \cdot b_2 - a \cdot c} + b_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r1908314 = b_2;
double r1908315 = -r1908314;
double r1908316 = r1908314 * r1908314;
double r1908317 = a;
double r1908318 = c;
double r1908319 = r1908317 * r1908318;
double r1908320 = r1908316 - r1908319;
double r1908321 = sqrt(r1908320);
double r1908322 = r1908315 + r1908321;
double r1908323 = r1908322 / r1908317;
return r1908323;
}
double f(double a, double b_2, double c) {
double r1908324 = b_2;
double r1908325 = -3.157094219357017e+135;
bool r1908326 = r1908324 <= r1908325;
double r1908327 = 0.5;
double r1908328 = c;
double r1908329 = r1908328 / r1908324;
double r1908330 = r1908327 * r1908329;
double r1908331 = a;
double r1908332 = r1908324 / r1908331;
double r1908333 = r1908330 - r1908332;
double r1908334 = r1908333 - r1908332;
double r1908335 = 5.369711498123029e-186;
bool r1908336 = r1908324 <= r1908335;
double r1908337 = r1908324 * r1908324;
double r1908338 = r1908331 * r1908328;
double r1908339 = r1908337 - r1908338;
double r1908340 = sqrt(r1908339);
double r1908341 = r1908340 / r1908331;
double r1908342 = r1908341 - r1908332;
double r1908343 = 1.743659918667874e+75;
bool r1908344 = r1908324 <= r1908343;
double r1908345 = -r1908328;
double r1908346 = r1908340 + r1908324;
double r1908347 = r1908345 / r1908346;
double r1908348 = -0.5;
double r1908349 = r1908348 * r1908329;
double r1908350 = r1908344 ? r1908347 : r1908349;
double r1908351 = r1908336 ? r1908342 : r1908350;
double r1908352 = r1908326 ? r1908334 : r1908351;
return r1908352;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.157094219357017e+135Initial program 54.4
Simplified54.4
rmApplied div-sub54.4
Taylor expanded around -inf 2.8
if -3.157094219357017e+135 < b_2 < 5.369711498123029e-186Initial program 10.8
Simplified10.8
rmApplied div-sub10.8
if 5.369711498123029e-186 < b_2 < 1.743659918667874e+75Initial program 36.2
Simplified36.2
rmApplied flip--36.4
Applied associate-/l/40.1
Simplified20.9
rmApplied distribute-frac-neg20.9
Simplified6.8
if 1.743659918667874e+75 < b_2 Initial program 57.3
Simplified57.3
Taylor expanded around inf 3.2
Final simplification6.9
herbie shell --seed 2019120
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))