\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.674469085146396739103610609439188639717 \cdot 10^{110}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 7.061692521831335565675525372535211636164 \cdot 10^{-266}:\\
\;\;\;\;\frac{c}{\sqrt{\mathsf{fma}\left(b_2, b_2, -c \cdot a\right)} - b_2}\\
\mathbf{elif}\;b_2 \le 1.715181108188238274259588142060201574853 \cdot 10^{78}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2 \cdot b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r68814 = b_2;
double r68815 = -r68814;
double r68816 = r68814 * r68814;
double r68817 = a;
double r68818 = c;
double r68819 = r68817 * r68818;
double r68820 = r68816 - r68819;
double r68821 = sqrt(r68820);
double r68822 = r68815 - r68821;
double r68823 = r68822 / r68817;
return r68823;
}
double f(double a, double b_2, double c) {
double r68824 = b_2;
double r68825 = -5.674469085146397e+110;
bool r68826 = r68824 <= r68825;
double r68827 = -0.5;
double r68828 = c;
double r68829 = r68828 / r68824;
double r68830 = r68827 * r68829;
double r68831 = 7.061692521831336e-266;
bool r68832 = r68824 <= r68831;
double r68833 = a;
double r68834 = r68828 * r68833;
double r68835 = -r68834;
double r68836 = fma(r68824, r68824, r68835);
double r68837 = sqrt(r68836);
double r68838 = r68837 - r68824;
double r68839 = r68828 / r68838;
double r68840 = 1.7151811081882383e+78;
bool r68841 = r68824 <= r68840;
double r68842 = -r68824;
double r68843 = r68824 * r68824;
double r68844 = r68833 * r68828;
double r68845 = r68843 - r68844;
double r68846 = sqrt(r68845);
double r68847 = r68842 - r68846;
double r68848 = r68847 / r68833;
double r68849 = -2.0;
double r68850 = r68849 * r68824;
double r68851 = r68850 / r68833;
double r68852 = r68841 ? r68848 : r68851;
double r68853 = r68832 ? r68839 : r68852;
double r68854 = r68826 ? r68830 : r68853;
return r68854;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -5.674469085146397e+110Initial program 59.7
Taylor expanded around -inf 2.7
if -5.674469085146397e+110 < b_2 < 7.061692521831336e-266Initial program 31.8
rmApplied flip--31.8
Simplified16.1
Simplified16.1
rmApplied *-un-lft-identity16.1
Applied *-un-lft-identity16.1
Applied *-un-lft-identity16.1
Applied times-frac16.1
Applied times-frac16.1
Simplified16.1
Simplified8.7
if 7.061692521831336e-266 < b_2 < 1.7151811081882383e+78Initial program 8.5
rmApplied *-un-lft-identity8.5
Applied *-un-lft-identity8.5
Applied times-frac8.5
Simplified8.5
if 1.7151811081882383e+78 < b_2 Initial program 43.0
rmApplied flip--62.6
Simplified61.8
Simplified61.8
Taylor expanded around 0 4.8
Final simplification6.6
herbie shell --seed 2019303 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))