\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.8746290509448952 \cdot 10^{74}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -6.57941275339975712 \cdot 10^{-183}:\\
\;\;\;\;\frac{\frac{1 \cdot \left(\left({b_2}^{2} - {b_2}^{2}\right) + a \cdot c\right)}{a}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{elif}\;b_2 \le 2.89307072747620556 \cdot 10^{122}:\\
\;\;\;\;1 \cdot \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}double f(double a, double b_2, double c) {
double r87562 = b_2;
double r87563 = -r87562;
double r87564 = r87562 * r87562;
double r87565 = a;
double r87566 = c;
double r87567 = r87565 * r87566;
double r87568 = r87564 - r87567;
double r87569 = sqrt(r87568);
double r87570 = r87563 - r87569;
double r87571 = r87570 / r87565;
return r87571;
}
double f(double a, double b_2, double c) {
double r87572 = b_2;
double r87573 = -1.8746290509448952e+74;
bool r87574 = r87572 <= r87573;
double r87575 = -0.5;
double r87576 = c;
double r87577 = r87576 / r87572;
double r87578 = r87575 * r87577;
double r87579 = -6.579412753399757e-183;
bool r87580 = r87572 <= r87579;
double r87581 = 1.0;
double r87582 = 2.0;
double r87583 = pow(r87572, r87582);
double r87584 = r87583 - r87583;
double r87585 = a;
double r87586 = r87585 * r87576;
double r87587 = r87584 + r87586;
double r87588 = r87581 * r87587;
double r87589 = r87588 / r87585;
double r87590 = -r87572;
double r87591 = r87572 * r87572;
double r87592 = r87591 - r87586;
double r87593 = sqrt(r87592);
double r87594 = r87590 + r87593;
double r87595 = r87589 / r87594;
double r87596 = 2.8930707274762056e+122;
bool r87597 = r87572 <= r87596;
double r87598 = r87590 - r87593;
double r87599 = r87598 / r87585;
double r87600 = r87581 * r87599;
double r87601 = -2.0;
double r87602 = r87572 / r87585;
double r87603 = r87601 * r87602;
double r87604 = r87597 ? r87600 : r87603;
double r87605 = r87580 ? r87595 : r87604;
double r87606 = r87574 ? r87578 : r87605;
return r87606;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.8746290509448952e+74Initial program 58.6
Taylor expanded around -inf 3.3
if -1.8746290509448952e+74 < b_2 < -6.579412753399757e-183Initial program 36.6
rmApplied clear-num36.7
rmApplied flip--36.7
Applied associate-/r/36.7
Applied associate-/r*36.7
Simplified15.8
if -6.579412753399757e-183 < b_2 < 2.8930707274762056e+122Initial program 10.2
rmApplied clear-num10.4
rmApplied *-un-lft-identity10.4
Applied *-un-lft-identity10.4
Applied times-frac10.4
Applied add-cube-cbrt10.4
Applied times-frac10.4
Simplified10.4
Simplified10.2
if 2.8930707274762056e+122 < b_2 Initial program 52.8
rmApplied clear-num52.9
Taylor expanded around 0 3.3
Final simplification8.6
herbie shell --seed 2020036
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))