\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.600306435637794 \cdot 10^{+151}:\\
\;\;\;\;\frac{\frac{c}{b_2}}{2} - \frac{b_2}{\frac{a}{2}}\\
\mathbf{elif}\;b_2 \le 5.930445637544082 \cdot 10^{-86}:\\
\;\;\;\;\frac{\sqrt{\sqrt[3]{b_2 \cdot b_2 - c \cdot a}} \cdot \left|\sqrt[3]{b_2 \cdot b_2 - c \cdot a}\right| - b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{2}\\
\end{array}double f(double a, double b_2, double c) {
double r789184 = b_2;
double r789185 = -r789184;
double r789186 = r789184 * r789184;
double r789187 = a;
double r789188 = c;
double r789189 = r789187 * r789188;
double r789190 = r789186 - r789189;
double r789191 = sqrt(r789190);
double r789192 = r789185 + r789191;
double r789193 = r789192 / r789187;
return r789193;
}
double f(double a, double b_2, double c) {
double r789194 = b_2;
double r789195 = -4.600306435637794e+151;
bool r789196 = r789194 <= r789195;
double r789197 = c;
double r789198 = r789197 / r789194;
double r789199 = 2.0;
double r789200 = r789198 / r789199;
double r789201 = a;
double r789202 = r789201 / r789199;
double r789203 = r789194 / r789202;
double r789204 = r789200 - r789203;
double r789205 = 5.930445637544082e-86;
bool r789206 = r789194 <= r789205;
double r789207 = r789194 * r789194;
double r789208 = r789197 * r789201;
double r789209 = r789207 - r789208;
double r789210 = cbrt(r789209);
double r789211 = sqrt(r789210);
double r789212 = fabs(r789210);
double r789213 = r789211 * r789212;
double r789214 = r789213 - r789194;
double r789215 = r789214 / r789201;
double r789216 = -0.5;
double r789217 = r789198 * r789216;
double r789218 = r789206 ? r789215 : r789217;
double r789219 = r789196 ? r789204 : r789218;
return r789219;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -4.600306435637794e+151Initial program 59.7
Simplified59.7
Taylor expanded around -inf 2.1
Simplified2.1
if -4.600306435637794e+151 < b_2 < 5.930445637544082e-86Initial program 11.6
Simplified11.6
rmApplied add-cube-cbrt12.0
Applied sqrt-prod12.0
Simplified12.0
if 5.930445637544082e-86 < b_2 Initial program 52.2
Simplified52.2
Taylor expanded around inf 9.9
Final simplification10.1
herbie shell --seed 2019162
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))