\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.2415082771065304 \cdot 10^{-131}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.559678284282607 \cdot 10^{+69}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{b_2}{a}, -2, \frac{\frac{1}{2}}{\frac{b_2}{c}}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r1135380 = b_2;
double r1135381 = -r1135380;
double r1135382 = r1135380 * r1135380;
double r1135383 = a;
double r1135384 = c;
double r1135385 = r1135383 * r1135384;
double r1135386 = r1135382 - r1135385;
double r1135387 = sqrt(r1135386);
double r1135388 = r1135381 - r1135387;
double r1135389 = r1135388 / r1135383;
return r1135389;
}
double f(double a, double b_2, double c) {
double r1135390 = b_2;
double r1135391 = -2.2415082771065304e-131;
bool r1135392 = r1135390 <= r1135391;
double r1135393 = -0.5;
double r1135394 = c;
double r1135395 = r1135394 / r1135390;
double r1135396 = r1135393 * r1135395;
double r1135397 = 2.559678284282607e+69;
bool r1135398 = r1135390 <= r1135397;
double r1135399 = -r1135390;
double r1135400 = r1135390 * r1135390;
double r1135401 = a;
double r1135402 = r1135401 * r1135394;
double r1135403 = r1135400 - r1135402;
double r1135404 = sqrt(r1135403);
double r1135405 = r1135399 - r1135404;
double r1135406 = r1135405 / r1135401;
double r1135407 = r1135390 / r1135401;
double r1135408 = -2.0;
double r1135409 = 0.5;
double r1135410 = r1135390 / r1135394;
double r1135411 = r1135409 / r1135410;
double r1135412 = fma(r1135407, r1135408, r1135411);
double r1135413 = r1135398 ? r1135406 : r1135412;
double r1135414 = r1135392 ? r1135396 : r1135413;
return r1135414;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -2.2415082771065304e-131Initial program 49.7
Taylor expanded around -inf 12.4
if -2.2415082771065304e-131 < b_2 < 2.559678284282607e+69Initial program 11.4
rmApplied div-inv11.5
rmApplied associate-*r/11.4
Simplified11.4
if 2.559678284282607e+69 < b_2 Initial program 38.9
rmApplied div-inv39.0
rmApplied associate-*r/38.9
Simplified38.9
Taylor expanded around inf 4.7
Simplified4.7
Final simplification10.7
herbie shell --seed 2019152 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))