\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -9.711132829713123 \cdot 10^{+85}:\\
\;\;\;\;\mathsf{fma}\left(-2, \frac{b_2}{a}, \frac{1}{2} \cdot \frac{c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 3.5014024016497154 \cdot 10^{-97}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r420131 = b_2;
double r420132 = -r420131;
double r420133 = r420131 * r420131;
double r420134 = a;
double r420135 = c;
double r420136 = r420134 * r420135;
double r420137 = r420133 - r420136;
double r420138 = sqrt(r420137);
double r420139 = r420132 + r420138;
double r420140 = r420139 / r420134;
return r420140;
}
double f(double a, double b_2, double c) {
double r420141 = b_2;
double r420142 = -9.711132829713123e+85;
bool r420143 = r420141 <= r420142;
double r420144 = -2.0;
double r420145 = a;
double r420146 = r420141 / r420145;
double r420147 = 0.5;
double r420148 = c;
double r420149 = r420148 / r420141;
double r420150 = r420147 * r420149;
double r420151 = fma(r420144, r420146, r420150);
double r420152 = 3.5014024016497154e-97;
bool r420153 = r420141 <= r420152;
double r420154 = 1.0;
double r420155 = r420141 * r420141;
double r420156 = r420148 * r420145;
double r420157 = r420155 - r420156;
double r420158 = sqrt(r420157);
double r420159 = r420158 - r420141;
double r420160 = r420145 / r420159;
double r420161 = r420154 / r420160;
double r420162 = -0.5;
double r420163 = r420162 * r420149;
double r420164 = r420153 ? r420161 : r420163;
double r420165 = r420143 ? r420151 : r420164;
return r420165;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -9.711132829713123e+85Initial program 40.7
Simplified40.7
Taylor expanded around -inf 3.9
Simplified3.9
if -9.711132829713123e+85 < b_2 < 3.5014024016497154e-97Initial program 12.2
Simplified12.2
rmApplied clear-num12.4
if 3.5014024016497154e-97 < b_2 Initial program 51.6
Simplified51.6
Taylor expanded around inf 10.6
Final simplification10.3
herbie shell --seed 2019154 +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))