\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.847204280282031663920354805138023860461 \cdot 10^{48}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 5.513214641062073036943084078199526511409 \cdot 10^{-195}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\
\mathbf{elif}\;b_2 \le 2.85809468897048124259159652911465859912 \cdot 10^{111}:\\
\;\;\;\;\frac{\frac{1}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}} \cdot \left(a \cdot c\right)}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r29132 = b_2;
double r29133 = -r29132;
double r29134 = r29132 * r29132;
double r29135 = a;
double r29136 = c;
double r29137 = r29135 * r29136;
double r29138 = r29134 - r29137;
double r29139 = sqrt(r29138);
double r29140 = r29133 + r29139;
double r29141 = r29140 / r29135;
return r29141;
}
double f(double a, double b_2, double c) {
double r29142 = b_2;
double r29143 = -2.8472042802820317e+48;
bool r29144 = r29142 <= r29143;
double r29145 = 0.5;
double r29146 = c;
double r29147 = r29146 / r29142;
double r29148 = r29145 * r29147;
double r29149 = 2.0;
double r29150 = a;
double r29151 = r29142 / r29150;
double r29152 = r29149 * r29151;
double r29153 = r29148 - r29152;
double r29154 = 5.513214641062073e-195;
bool r29155 = r29142 <= r29154;
double r29156 = 1.0;
double r29157 = r29142 * r29142;
double r29158 = r29150 * r29146;
double r29159 = r29157 - r29158;
double r29160 = sqrt(r29159);
double r29161 = r29160 - r29142;
double r29162 = r29150 / r29161;
double r29163 = r29156 / r29162;
double r29164 = 2.858094688970481e+111;
bool r29165 = r29142 <= r29164;
double r29166 = -r29142;
double r29167 = r29166 - r29160;
double r29168 = r29156 / r29167;
double r29169 = r29168 * r29158;
double r29170 = r29169 / r29150;
double r29171 = -0.5;
double r29172 = r29171 * r29147;
double r29173 = r29165 ? r29170 : r29172;
double r29174 = r29155 ? r29163 : r29173;
double r29175 = r29144 ? r29153 : r29174;
return r29175;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.8472042802820317e+48Initial program 38.0
Taylor expanded around -inf 5.2
if -2.8472042802820317e+48 < b_2 < 5.513214641062073e-195Initial program 11.1
rmApplied clear-num11.3
Simplified11.3
if 5.513214641062073e-195 < b_2 < 2.858094688970481e+111Initial program 36.2
rmApplied flip-+36.2
Simplified15.4
rmApplied div-inv15.5
if 2.858094688970481e+111 < b_2 Initial program 59.6
Taylor expanded around inf 2.0
Final simplification9.0
herbie shell --seed 2019212
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))