double f(double a, double b_2, double c) {
double r7720477 = b_2;
double r7720478 = -r7720477;
double r7720479 = r7720477 * r7720477;
double r7720480 = a;
double r7720481 = c;
double r7720482 = r7720480 * r7720481;
double r7720483 = r7720479 - r7720482;
double r7720484 = sqrt(r7720483);
double r7720485 = r7720478 - r7720484;
double r7720486 = r7720485 / r7720480;
return r7720486;
}
double f(double a, double b_2, double c) {
double r7720487 = b_2;
double r7720488 = -4.595028172156282e+143;
bool r7720489 = r7720487 <= r7720488;
double r7720490 = -0.5;
double r7720491 = c;
double r7720492 = r7720491 / r7720487;
double r7720493 = r7720490 * r7720492;
double r7720494 = -1.039671900760653e-263;
bool r7720495 = r7720487 <= r7720494;
double r7720496 = r7720487 * r7720487;
double r7720497 = a;
double r7720498 = r7720497 * r7720491;
double r7720499 = r7720496 - r7720498;
double r7720500 = sqrt(r7720499);
double r7720501 = -r7720487;
double r7720502 = r7720500 + r7720501;
double r7720503 = r7720491 / r7720502;
double r7720504 = 1.4653326993720654e+110;
bool r7720505 = r7720487 <= r7720504;
double r7720506 = r7720501 - r7720500;
double r7720507 = r7720506 / r7720497;
double r7720508 = -2.0;
double r7720509 = r7720487 / r7720497;
double r7720510 = r7720508 * r7720509;
double r7720511 = r7720505 ? r7720507 : r7720510;
double r7720512 = r7720495 ? r7720503 : r7720511;
double r7720513 = r7720489 ? r7720493 : r7720512;
return r7720513;
}
\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.595028172156282 \cdot 10^{+143}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.039671900760653 \cdot 10^{-263}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} + \left(-b_2\right)}\\
\mathbf{elif}\;b_2 \le 1.4653326993720654 \cdot 10^{+110}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}


Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -4.595028172156282e+143Initial program 61.8
rmApplied div-inv61.8
Taylor expanded around -inf 1.7
if -4.595028172156282e+143 < b_2 < -1.039671900760653e-263Initial program 34.9
rmApplied div-inv34.9
rmApplied flip--35.0
Applied associate-*l/35.0
Simplified14.3
Taylor expanded around inf 7.8
if -1.039671900760653e-263 < b_2 < 1.4653326993720654e+110Initial program 9.7
if 1.4653326993720654e+110 < b_2 Initial program 47.7
rmApplied div-inv47.7
rmApplied flip--61.6
Applied associate-*l/61.6
Simplified61.8
Taylor expanded around inf 61.8
Taylor expanded around 0 3.4
Final simplification6.6
herbie shell --seed 2019102
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))