\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 1.409913694611773174476543925182798865564 \cdot 10^{-265}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 1.715181108188238274259588142060201574853 \cdot 10^{78}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r85217 = b_2;
double r85218 = -r85217;
double r85219 = r85217 * r85217;
double r85220 = a;
double r85221 = c;
double r85222 = r85220 * r85221;
double r85223 = r85219 - r85222;
double r85224 = sqrt(r85223);
double r85225 = r85218 - r85224;
double r85226 = r85225 / r85220;
return r85226;
}
double f(double a, double b_2, double c) {
double r85227 = b_2;
double r85228 = -5.674469085146397e+110;
bool r85229 = r85227 <= r85228;
double r85230 = -0.5;
double r85231 = c;
double r85232 = r85231 / r85227;
double r85233 = r85230 * r85232;
double r85234 = 1.4099136946117732e-265;
bool r85235 = r85227 <= r85234;
double r85236 = r85227 * r85227;
double r85237 = a;
double r85238 = r85237 * r85231;
double r85239 = r85236 - r85238;
double r85240 = sqrt(r85239);
double r85241 = r85240 - r85227;
double r85242 = r85231 / r85241;
double r85243 = 1.7151811081882383e+78;
bool r85244 = r85227 <= r85243;
double r85245 = -r85227;
double r85246 = r85245 - r85240;
double r85247 = 1.0;
double r85248 = r85247 / r85237;
double r85249 = r85246 * r85248;
double r85250 = -2.0;
double r85251 = r85227 / r85237;
double r85252 = r85250 * r85251;
double r85253 = r85244 ? r85249 : r85252;
double r85254 = r85235 ? r85242 : r85253;
double r85255 = r85229 ? r85233 : r85254;
return r85255;
}



Bits error versus a



Bits error versus b_2



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