\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.263941314600607 \cdot 10^{+152}:\\
\;\;\;\;\mathsf{fma}\left(\left(\frac{c}{b_2}\right), \frac{1}{2}, \left(\frac{b_2}{a} \cdot -2\right)\right)\\
\mathbf{elif}\;b_2 \le 1.8378252714625124 \cdot 10^{-19}:\\
\;\;\;\;\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{2}\\
\end{array}double f(double a, double b_2, double c) {
double r329305 = b_2;
double r329306 = -r329305;
double r329307 = r329305 * r329305;
double r329308 = a;
double r329309 = c;
double r329310 = r329308 * r329309;
double r329311 = r329307 - r329310;
double r329312 = sqrt(r329311);
double r329313 = r329306 + r329312;
double r329314 = r329313 / r329308;
return r329314;
}
double f(double a, double b_2, double c) {
double r329315 = b_2;
double r329316 = -3.263941314600607e+152;
bool r329317 = r329315 <= r329316;
double r329318 = c;
double r329319 = r329318 / r329315;
double r329320 = 0.5;
double r329321 = a;
double r329322 = r329315 / r329321;
double r329323 = -2.0;
double r329324 = r329322 * r329323;
double r329325 = fma(r329319, r329320, r329324);
double r329326 = 1.8378252714625124e-19;
bool r329327 = r329315 <= r329326;
double r329328 = r329315 * r329315;
double r329329 = r329318 * r329321;
double r329330 = r329328 - r329329;
double r329331 = sqrt(r329330);
double r329332 = r329331 - r329315;
double r329333 = r329332 / r329321;
double r329334 = -0.5;
double r329335 = r329319 * r329334;
double r329336 = r329327 ? r329333 : r329335;
double r329337 = r329317 ? r329325 : r329336;
return r329337;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -3.263941314600607e+152Initial program 60.1
Simplified60.1
rmApplied *-un-lft-identity60.1
Applied *-un-lft-identity60.1
Applied distribute-lft-out--60.1
Applied associate-/l*60.1
rmApplied associate-/r/60.1
rmApplied associate-*l/60.1
Simplified60.1
Taylor expanded around -inf 2.3
Simplified2.3
if -3.263941314600607e+152 < b_2 < 1.8378252714625124e-19Initial program 14.1
Simplified14.1
rmApplied *-un-lft-identity14.1
Applied *-un-lft-identity14.1
Applied distribute-lft-out--14.1
Applied associate-/l*14.3
rmApplied associate-/r/14.3
rmApplied associate-*l/14.1
Simplified14.1
if 1.8378252714625124e-19 < b_2 Initial program 54.4
Simplified54.4
Taylor expanded around inf 7.0
Final simplification10.3
herbie shell --seed 2019128 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))