\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.16908657181932359 \cdot 10^{-104}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.3316184968738608 \cdot 10^{61}:\\
\;\;\;\;\frac{-\left(b_2 + \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r15792 = b_2;
double r15793 = -r15792;
double r15794 = r15792 * r15792;
double r15795 = a;
double r15796 = c;
double r15797 = r15795 * r15796;
double r15798 = r15794 - r15797;
double r15799 = sqrt(r15798);
double r15800 = r15793 - r15799;
double r15801 = r15800 / r15795;
return r15801;
}
double f(double a, double b_2, double c) {
double r15802 = b_2;
double r15803 = -4.1690865718193236e-104;
bool r15804 = r15802 <= r15803;
double r15805 = -0.5;
double r15806 = c;
double r15807 = r15806 / r15802;
double r15808 = r15805 * r15807;
double r15809 = 1.3316184968738608e+61;
bool r15810 = r15802 <= r15809;
double r15811 = r15802 * r15802;
double r15812 = a;
double r15813 = r15812 * r15806;
double r15814 = r15811 - r15813;
double r15815 = sqrt(r15814);
double r15816 = r15802 + r15815;
double r15817 = -r15816;
double r15818 = r15817 / r15812;
double r15819 = -2.0;
double r15820 = r15802 / r15812;
double r15821 = r15819 * r15820;
double r15822 = r15810 ? r15818 : r15821;
double r15823 = r15804 ? r15808 : r15822;
return r15823;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -4.1690865718193236e-104Initial program 51.5
rmApplied clear-num51.5
rmApplied *-un-lft-identity51.5
Applied *-un-lft-identity51.5
Applied times-frac51.5
Applied add-cube-cbrt51.5
Applied times-frac51.5
Simplified51.5
Simplified51.5
Taylor expanded around -inf 11.0
if -4.1690865718193236e-104 < b_2 < 1.3316184968738608e+61Initial program 12.2
rmApplied clear-num12.4
rmApplied *-un-lft-identity12.4
Applied *-un-lft-identity12.4
Applied times-frac12.4
Applied add-cube-cbrt12.4
Applied times-frac12.4
Simplified12.4
Simplified12.2
if 1.3316184968738608e+61 < b_2 Initial program 39.5
rmApplied clear-num39.6
Taylor expanded around 0 4.5
Final simplification10.3
herbie shell --seed 2020045 +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))