\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.727723973148742563324153150500151191249 \cdot 10^{105}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.364529283357116165462040672443911208369 \cdot 10^{-246}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 4.198650993474429809884798868723112488797 \cdot 10^{74}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\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 r26090 = b_2;
double r26091 = -r26090;
double r26092 = r26090 * r26090;
double r26093 = a;
double r26094 = c;
double r26095 = r26093 * r26094;
double r26096 = r26092 - r26095;
double r26097 = sqrt(r26096);
double r26098 = r26091 - r26097;
double r26099 = r26098 / r26093;
return r26099;
}
double f(double a, double b_2, double c) {
double r26100 = b_2;
double r26101 = -3.7277239731487426e+105;
bool r26102 = r26100 <= r26101;
double r26103 = -0.5;
double r26104 = c;
double r26105 = r26104 / r26100;
double r26106 = r26103 * r26105;
double r26107 = 1.3645292833571162e-246;
bool r26108 = r26100 <= r26107;
double r26109 = r26100 * r26100;
double r26110 = a;
double r26111 = r26110 * r26104;
double r26112 = r26109 - r26111;
double r26113 = sqrt(r26112);
double r26114 = r26113 - r26100;
double r26115 = r26104 / r26114;
double r26116 = 4.19865099347443e+74;
bool r26117 = r26100 <= r26116;
double r26118 = -r26100;
double r26119 = r26118 / r26110;
double r26120 = r26113 / r26110;
double r26121 = r26119 - r26120;
double r26122 = 0.5;
double r26123 = r26122 * r26105;
double r26124 = 2.0;
double r26125 = r26100 / r26110;
double r26126 = r26124 * r26125;
double r26127 = r26123 - r26126;
double r26128 = r26117 ? r26121 : r26127;
double r26129 = r26108 ? r26115 : r26128;
double r26130 = r26102 ? r26106 : r26129;
return r26130;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.7277239731487426e+105Initial program 59.9
Taylor expanded around -inf 2.4
if -3.7277239731487426e+105 < b_2 < 1.3645292833571162e-246Initial program 30.7
rmApplied flip--30.8
Simplified15.7
Simplified15.7
rmApplied *-un-lft-identity15.7
Applied *-un-lft-identity15.7
Applied times-frac15.7
Simplified15.7
Simplified8.5
if 1.3645292833571162e-246 < b_2 < 4.19865099347443e+74Initial program 9.3
rmApplied div-sub9.3
if 4.19865099347443e+74 < b_2 Initial program 41.8
Taylor expanded around inf 5.3
Final simplification6.8
herbie shell --seed 2019322
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))