\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.794763793747313808439492098028999694334 \cdot 10^{48}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.343096751709779633653539836064556904256 \cdot 10^{-234}:\\
\;\;\;\;\frac{1}{\sqrt{\sqrt{\mathsf{fma}\left(-c, a, b_2 \cdot b_2\right)} - b_2}} \cdot \left(\frac{a}{a} \cdot \frac{c}{\sqrt{\sqrt{\mathsf{fma}\left(-c, a, b_2 \cdot b_2\right)} - b_2}}\right)\\
\mathbf{elif}\;b_2 \le 1.302994705082702092687429648637938290449 \cdot 10^{103}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{{b_2}^{2} - c \cdot a}}}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r31129 = b_2;
double r31130 = -r31129;
double r31131 = r31129 * r31129;
double r31132 = a;
double r31133 = c;
double r31134 = r31132 * r31133;
double r31135 = r31131 - r31134;
double r31136 = sqrt(r31135);
double r31137 = r31130 - r31136;
double r31138 = r31137 / r31132;
return r31138;
}
double f(double a, double b_2, double c) {
double r31139 = b_2;
double r31140 = -2.7947637937473138e+48;
bool r31141 = r31139 <= r31140;
double r31142 = -0.5;
double r31143 = c;
double r31144 = r31143 / r31139;
double r31145 = r31142 * r31144;
double r31146 = -1.3430967517097796e-234;
bool r31147 = r31139 <= r31146;
double r31148 = 1.0;
double r31149 = -r31143;
double r31150 = a;
double r31151 = r31139 * r31139;
double r31152 = fma(r31149, r31150, r31151);
double r31153 = sqrt(r31152);
double r31154 = r31153 - r31139;
double r31155 = sqrt(r31154);
double r31156 = r31148 / r31155;
double r31157 = r31150 / r31150;
double r31158 = r31143 / r31155;
double r31159 = r31157 * r31158;
double r31160 = r31156 * r31159;
double r31161 = 1.302994705082702e+103;
bool r31162 = r31139 <= r31161;
double r31163 = -r31139;
double r31164 = 2.0;
double r31165 = pow(r31139, r31164);
double r31166 = r31143 * r31150;
double r31167 = r31165 - r31166;
double r31168 = sqrt(r31167);
double r31169 = r31163 - r31168;
double r31170 = r31150 / r31169;
double r31171 = r31148 / r31170;
double r31172 = -2.0;
double r31173 = r31139 / r31150;
double r31174 = r31172 * r31173;
double r31175 = r31162 ? r31171 : r31174;
double r31176 = r31147 ? r31160 : r31175;
double r31177 = r31141 ? r31145 : r31176;
return r31177;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -2.7947637937473138e+48Initial program 57.3
Taylor expanded around -inf 3.8
if -2.7947637937473138e+48 < b_2 < -1.3430967517097796e-234Initial program 33.1
rmApplied flip--33.2
Simplified17.3
Simplified17.3
rmApplied pow117.3
rmApplied *-un-lft-identity17.3
Applied add-sqr-sqrt17.5
Applied unpow-prod-down17.5
Applied *-un-lft-identity17.5
Applied times-frac17.5
Applied times-frac17.3
Simplified17.3
Simplified8.6
if -1.3430967517097796e-234 < b_2 < 1.302994705082702e+103Initial program 9.5
rmApplied clear-num9.6
Simplified9.6
if 1.302994705082702e+103 < b_2 Initial program 47.7
rmApplied flip--63.1
Simplified62.2
Simplified62.2
rmApplied pow162.2
Taylor expanded around 0 3.3
Final simplification6.7
herbie shell --seed 2019212 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))