\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -868804.7105499643:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.1921243675281261 \cdot 10^{-86}:\\
\;\;\;\;\left(\frac{a \cdot c + \left(b_2 \cdot b_2 - b_2 \cdot b_2\right)}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot \left(\sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{1}{a}}\right)\right) \cdot \sqrt[3]{\frac{1}{a}}\\
\mathbf{elif}\;b_2 \le 2.408727112940545 \cdot 10^{+124}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{2}, \left(\frac{c}{b_2}\right), \left(\frac{b_2 \cdot -2}{a}\right)\right)\\
\end{array}double f(double a, double b_2, double c) {
double r2355211 = b_2;
double r2355212 = -r2355211;
double r2355213 = r2355211 * r2355211;
double r2355214 = a;
double r2355215 = c;
double r2355216 = r2355214 * r2355215;
double r2355217 = r2355213 - r2355216;
double r2355218 = sqrt(r2355217);
double r2355219 = r2355212 - r2355218;
double r2355220 = r2355219 / r2355214;
return r2355220;
}
double f(double a, double b_2, double c) {
double r2355221 = b_2;
double r2355222 = -868804.7105499643;
bool r2355223 = r2355221 <= r2355222;
double r2355224 = -0.5;
double r2355225 = c;
double r2355226 = r2355225 / r2355221;
double r2355227 = r2355224 * r2355226;
double r2355228 = -1.1921243675281261e-86;
bool r2355229 = r2355221 <= r2355228;
double r2355230 = a;
double r2355231 = r2355230 * r2355225;
double r2355232 = r2355221 * r2355221;
double r2355233 = r2355232 - r2355232;
double r2355234 = r2355231 + r2355233;
double r2355235 = r2355232 - r2355231;
double r2355236 = sqrt(r2355235);
double r2355237 = r2355236 - r2355221;
double r2355238 = r2355234 / r2355237;
double r2355239 = 1.0;
double r2355240 = r2355239 / r2355230;
double r2355241 = cbrt(r2355240);
double r2355242 = r2355241 * r2355241;
double r2355243 = r2355238 * r2355242;
double r2355244 = r2355243 * r2355241;
double r2355245 = 2.408727112940545e+124;
bool r2355246 = r2355221 <= r2355245;
double r2355247 = -r2355221;
double r2355248 = r2355247 - r2355236;
double r2355249 = r2355248 / r2355230;
double r2355250 = 0.5;
double r2355251 = -2.0;
double r2355252 = r2355221 * r2355251;
double r2355253 = r2355252 / r2355230;
double r2355254 = fma(r2355250, r2355226, r2355253);
double r2355255 = r2355246 ? r2355249 : r2355254;
double r2355256 = r2355229 ? r2355244 : r2355255;
double r2355257 = r2355223 ? r2355227 : r2355256;
return r2355257;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -868804.7105499643Initial program 55.2
Taylor expanded around -inf 5.5
if -868804.7105499643 < b_2 < -1.1921243675281261e-86Initial program 37.7
Taylor expanded around -inf 37.7
Simplified37.7
rmApplied div-inv37.7
rmApplied add-cube-cbrt38.1
Applied associate-*r*38.1
rmApplied flip--38.2
Simplified17.6
Simplified17.6
if -1.1921243675281261e-86 < b_2 < 2.408727112940545e+124Initial program 12.0
Taylor expanded around -inf 12.0
Simplified12.0
if 2.408727112940545e+124 < b_2 Initial program 50.3
Taylor expanded around inf 3.1
Simplified3.2
Final simplification9.1
herbie shell --seed 2019129 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))