\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.359953003549156817553996908233908949771 \cdot 10^{103}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.094358742794727790656239317142702500789 \cdot 10^{-239}:\\
\;\;\;\;\frac{c}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{elif}\;b_2 \le 5.099089738165329086098741767888130630655 \cdot 10^{67}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r95657 = b_2;
double r95658 = -r95657;
double r95659 = r95657 * r95657;
double r95660 = a;
double r95661 = c;
double r95662 = r95660 * r95661;
double r95663 = r95659 - r95662;
double r95664 = sqrt(r95663);
double r95665 = r95658 - r95664;
double r95666 = r95665 / r95660;
return r95666;
}
double f(double a, double b_2, double c) {
double r95667 = b_2;
double r95668 = -3.359953003549157e+103;
bool r95669 = r95667 <= r95668;
double r95670 = -0.5;
double r95671 = c;
double r95672 = r95671 / r95667;
double r95673 = r95670 * r95672;
double r95674 = 2.094358742794728e-239;
bool r95675 = r95667 <= r95674;
double r95676 = -r95667;
double r95677 = r95667 * r95667;
double r95678 = a;
double r95679 = r95678 * r95671;
double r95680 = r95677 - r95679;
double r95681 = sqrt(r95680);
double r95682 = r95676 + r95681;
double r95683 = r95671 / r95682;
double r95684 = 5.099089738165329e+67;
bool r95685 = r95667 <= r95684;
double r95686 = r95676 - r95681;
double r95687 = r95686 / r95678;
double r95688 = 0.5;
double r95689 = r95688 * r95672;
double r95690 = 2.0;
double r95691 = r95667 / r95678;
double r95692 = r95690 * r95691;
double r95693 = r95689 - r95692;
double r95694 = r95685 ? r95687 : r95693;
double r95695 = r95675 ? r95683 : r95694;
double r95696 = r95669 ? r95673 : r95695;
return r95696;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.359953003549157e+103Initial program 59.7
Taylor expanded around -inf 2.5
if -3.359953003549157e+103 < b_2 < 2.094358742794728e-239Initial program 30.6
rmApplied clear-num30.6
rmApplied flip--30.7
Applied associate-/r/30.8
Applied associate-/r*30.8
Simplified15.4
Taylor expanded around 0 9.5
if 2.094358742794728e-239 < b_2 < 5.099089738165329e+67Initial program 8.0
if 5.099089738165329e+67 < b_2 Initial program 40.4
Taylor expanded around inf 5.4
Final simplification6.8
herbie shell --seed 2019304
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))