\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3628086182808922216479727071860655520743000:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -7.975591029427466896519638178068898735928 \cdot 10^{-96}:\\
\;\;\;\;\frac{\frac{\frac{a}{\frac{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{c}}}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{a}\\
\mathbf{elif}\;b_2 \le -5.358830408552924876342396298354647853638 \cdot 10^{-132}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 6.326287366549382745037046972324082366467 \cdot 10^{74}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\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 r133798 = b_2;
double r133799 = -r133798;
double r133800 = r133798 * r133798;
double r133801 = a;
double r133802 = c;
double r133803 = r133801 * r133802;
double r133804 = r133800 - r133803;
double r133805 = sqrt(r133804);
double r133806 = r133799 - r133805;
double r133807 = r133806 / r133801;
return r133807;
}
double f(double a, double b_2, double c) {
double r133808 = b_2;
double r133809 = -3.628086182808922e+42;
bool r133810 = r133808 <= r133809;
double r133811 = -0.5;
double r133812 = c;
double r133813 = r133812 / r133808;
double r133814 = r133811 * r133813;
double r133815 = -7.975591029427467e-96;
bool r133816 = r133808 <= r133815;
double r133817 = a;
double r133818 = r133808 * r133808;
double r133819 = r133817 * r133812;
double r133820 = r133818 - r133819;
double r133821 = sqrt(r133820);
double r133822 = r133821 - r133808;
double r133823 = sqrt(r133822);
double r133824 = r133823 / r133812;
double r133825 = r133817 / r133824;
double r133826 = r133825 / r133823;
double r133827 = r133826 / r133817;
double r133828 = -5.358830408552925e-132;
bool r133829 = r133808 <= r133828;
double r133830 = 6.326287366549383e+74;
bool r133831 = r133808 <= r133830;
double r133832 = -r133808;
double r133833 = r133832 / r133817;
double r133834 = r133821 / r133817;
double r133835 = r133833 - r133834;
double r133836 = 0.5;
double r133837 = r133836 * r133813;
double r133838 = 2.0;
double r133839 = r133808 / r133817;
double r133840 = r133838 * r133839;
double r133841 = r133837 - r133840;
double r133842 = r133831 ? r133835 : r133841;
double r133843 = r133829 ? r133814 : r133842;
double r133844 = r133816 ? r133827 : r133843;
double r133845 = r133810 ? r133814 : r133844;
return r133845;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.628086182808922e+42 or -7.975591029427467e-96 < b_2 < -5.358830408552925e-132Initial program 54.2
Taylor expanded around -inf 6.7
if -3.628086182808922e+42 < b_2 < -7.975591029427467e-96Initial program 41.7
rmApplied flip--41.7
Simplified16.9
Simplified16.9
rmApplied add-sqr-sqrt17.1
Applied associate-/r*17.1
Simplified15.8
if -5.358830408552925e-132 < b_2 < 6.326287366549383e+74Initial program 11.6
rmApplied div-sub11.6
if 6.326287366549383e+74 < b_2 Initial program 41.8
Taylor expanded around inf 5.3
Final simplification9.4
herbie shell --seed 2019322
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))