\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.706781135059311758856471716413486308072 \cdot 10^{-92}:\\
\;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 5.722235152988638272816037483919181313619 \cdot 10^{98}:\\
\;\;\;\;1 \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r11560 = b_2;
double r11561 = -r11560;
double r11562 = r11560 * r11560;
double r11563 = a;
double r11564 = c;
double r11565 = r11563 * r11564;
double r11566 = r11562 - r11565;
double r11567 = sqrt(r11566);
double r11568 = r11561 - r11567;
double r11569 = r11568 / r11563;
return r11569;
}
double f(double a, double b_2, double c) {
double r11570 = b_2;
double r11571 = -4.706781135059312e-92;
bool r11572 = r11570 <= r11571;
double r11573 = 1.0;
double r11574 = -0.5;
double r11575 = c;
double r11576 = r11575 / r11570;
double r11577 = r11574 * r11576;
double r11578 = r11573 * r11577;
double r11579 = 5.722235152988638e+98;
bool r11580 = r11570 <= r11579;
double r11581 = -r11570;
double r11582 = r11570 * r11570;
double r11583 = a;
double r11584 = r11583 * r11575;
double r11585 = r11582 - r11584;
double r11586 = sqrt(r11585);
double r11587 = r11581 - r11586;
double r11588 = r11587 / r11583;
double r11589 = r11573 * r11588;
double r11590 = 0.5;
double r11591 = r11590 * r11576;
double r11592 = 2.0;
double r11593 = r11570 / r11583;
double r11594 = r11592 * r11593;
double r11595 = r11591 - r11594;
double r11596 = r11580 ? r11589 : r11595;
double r11597 = r11572 ? r11578 : r11596;
return r11597;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -4.706781135059312e-92Initial program 52.4
rmApplied div-inv52.4
rmApplied *-un-lft-identity52.4
Applied associate-*l*52.4
Simplified52.4
Taylor expanded around -inf 10.2
if -4.706781135059312e-92 < b_2 < 5.722235152988638e+98Initial program 12.6
rmApplied div-inv12.7
rmApplied *-un-lft-identity12.7
Applied associate-*l*12.7
Simplified12.6
if 5.722235152988638e+98 < b_2 Initial program 47.1
Taylor expanded around inf 3.6
Final simplification10.1
herbie shell --seed 2019353 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))