\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -73773484249037.312:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -2.630698729571271 \cdot 10^{-159}:\\
\;\;\;\;1 \cdot \frac{\frac{a \cdot c}{a}}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 8.633216037833923 \cdot 10^{65}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r17087 = b_2;
double r17088 = -r17087;
double r17089 = r17087 * r17087;
double r17090 = a;
double r17091 = c;
double r17092 = r17090 * r17091;
double r17093 = r17089 - r17092;
double r17094 = sqrt(r17093);
double r17095 = r17088 - r17094;
double r17096 = r17095 / r17090;
return r17096;
}
double f(double a, double b_2, double c) {
double r17097 = b_2;
double r17098 = -73773484249037.31;
bool r17099 = r17097 <= r17098;
double r17100 = -0.5;
double r17101 = c;
double r17102 = r17101 / r17097;
double r17103 = r17100 * r17102;
double r17104 = -2.630698729571271e-159;
bool r17105 = r17097 <= r17104;
double r17106 = 1.0;
double r17107 = a;
double r17108 = r17107 * r17101;
double r17109 = r17108 / r17107;
double r17110 = r17097 * r17097;
double r17111 = r17110 - r17108;
double r17112 = sqrt(r17111);
double r17113 = r17112 - r17097;
double r17114 = r17109 / r17113;
double r17115 = r17106 * r17114;
double r17116 = 8.633216037833923e+65;
bool r17117 = r17097 <= r17116;
double r17118 = -r17097;
double r17119 = r17118 - r17112;
double r17120 = r17106 / r17107;
double r17121 = r17119 * r17120;
double r17122 = -2.0;
double r17123 = r17097 / r17107;
double r17124 = r17122 * r17123;
double r17125 = r17117 ? r17121 : r17124;
double r17126 = r17105 ? r17115 : r17125;
double r17127 = r17099 ? r17103 : r17126;
return r17127;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -73773484249037.31Initial program 55.9
Taylor expanded around -inf 5.7
if -73773484249037.31 < b_2 < -2.630698729571271e-159Initial program 32.5
rmApplied flip--32.5
Simplified16.5
Simplified16.5
rmApplied div-inv16.5
rmApplied *-un-lft-identity16.5
Applied associate-*l*16.5
Simplified16.3
if -2.630698729571271e-159 < b_2 < 8.633216037833923e+65Initial program 10.9
rmApplied div-inv11.0
if 8.633216037833923e+65 < b_2 Initial program 40.1
rmApplied flip--61.8
Simplified61.0
Simplified61.0
Taylor expanded around 0 5.0
Final simplification8.9
herbie shell --seed 2020057
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))