\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.3093766494757864 \cdot 10^{+77}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\
\mathbf{elif}\;b_2 \le 1.2352405779465016 \cdot 10^{-131}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r659326 = b_2;
double r659327 = -r659326;
double r659328 = r659326 * r659326;
double r659329 = a;
double r659330 = c;
double r659331 = r659329 * r659330;
double r659332 = r659328 - r659331;
double r659333 = sqrt(r659332);
double r659334 = r659327 + r659333;
double r659335 = r659334 / r659329;
return r659335;
}
double f(double a, double b_2, double c) {
double r659336 = b_2;
double r659337 = -2.3093766494757864e+77;
bool r659338 = r659336 <= r659337;
double r659339 = 0.5;
double r659340 = c;
double r659341 = r659340 / r659336;
double r659342 = r659339 * r659341;
double r659343 = a;
double r659344 = r659336 / r659343;
double r659345 = 2.0;
double r659346 = r659344 * r659345;
double r659347 = r659342 - r659346;
double r659348 = 1.2352405779465016e-131;
bool r659349 = r659336 <= r659348;
double r659350 = 1.0;
double r659351 = r659336 * r659336;
double r659352 = r659340 * r659343;
double r659353 = r659351 - r659352;
double r659354 = sqrt(r659353);
double r659355 = r659354 - r659336;
double r659356 = r659343 / r659355;
double r659357 = r659350 / r659356;
double r659358 = -0.5;
double r659359 = r659358 * r659341;
double r659360 = r659349 ? r659357 : r659359;
double r659361 = r659338 ? r659347 : r659360;
return r659361;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.3093766494757864e+77Initial program 39.5
Simplified39.5
Taylor expanded around -inf 5.0
if -2.3093766494757864e+77 < b_2 < 1.2352405779465016e-131Initial program 11.0
Simplified11.0
rmApplied clear-num11.1
if 1.2352405779465016e-131 < b_2 Initial program 50.3
Simplified50.3
Taylor expanded around -inf 50.3
Simplified50.3
Taylor expanded around inf 11.7
Final simplification10.3
herbie shell --seed 2019134
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))