\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 r62225 = b_2;
double r62226 = -r62225;
double r62227 = r62225 * r62225;
double r62228 = a;
double r62229 = c;
double r62230 = r62228 * r62229;
double r62231 = r62227 - r62230;
double r62232 = sqrt(r62231);
double r62233 = r62226 - r62232;
double r62234 = r62233 / r62228;
return r62234;
}
double f(double a, double b_2, double c) {
double r62235 = b_2;
double r62236 = -5.674469085146397e+110;
bool r62237 = r62235 <= r62236;
double r62238 = -0.5;
double r62239 = c;
double r62240 = r62239 / r62235;
double r62241 = r62238 * r62240;
double r62242 = 7.061692521831336e-266;
bool r62243 = r62235 <= r62242;
double r62244 = a;
double r62245 = r62239 * r62244;
double r62246 = -r62245;
double r62247 = fma(r62235, r62235, r62246);
double r62248 = sqrt(r62247);
double r62249 = r62248 - r62235;
double r62250 = r62239 / r62249;
double r62251 = 1.7151811081882383e+78;
bool r62252 = r62235 <= r62251;
double r62253 = -r62235;
double r62254 = r62235 * r62235;
double r62255 = r62244 * r62239;
double r62256 = r62254 - r62255;
double r62257 = sqrt(r62256);
double r62258 = r62253 - r62257;
double r62259 = r62258 / r62244;
double r62260 = -2.0;
double r62261 = r62260 * r62235;
double r62262 = r62261 / r62244;
double r62263 = r62252 ? r62259 : r62262;
double r62264 = r62243 ? r62250 : r62263;
double r62265 = r62237 ? r62241 : r62264;
return r62265;
}



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))