\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.532647813487864998120433824563689483214 \cdot 10^{52}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{2}\\
\mathbf{elif}\;b_2 \le -1.571246895950165959018503319317416108871 \cdot 10^{-147}:\\
\;\;\;\;\frac{\frac{a \cdot c}{\sqrt{\mathsf{fma}\left(a, -c, {b_2}^{2}\right)} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le 3.569161879972515120190840820324612209908 \cdot 10^{135}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{\mathsf{fma}\left(b_2, b_2, -a \cdot c\right)}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-b_2}{a} - \left(\frac{b_2}{a} - \frac{\frac{1}{2}}{\frac{b_2}{c}}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r75380 = b_2;
double r75381 = -r75380;
double r75382 = r75380 * r75380;
double r75383 = a;
double r75384 = c;
double r75385 = r75383 * r75384;
double r75386 = r75382 - r75385;
double r75387 = sqrt(r75386);
double r75388 = r75381 - r75387;
double r75389 = r75388 / r75383;
return r75389;
}
double f(double a, double b_2, double c) {
double r75390 = b_2;
double r75391 = -1.532647813487865e+52;
bool r75392 = r75390 <= r75391;
double r75393 = c;
double r75394 = r75393 / r75390;
double r75395 = -0.5;
double r75396 = r75394 * r75395;
double r75397 = -1.571246895950166e-147;
bool r75398 = r75390 <= r75397;
double r75399 = a;
double r75400 = r75399 * r75393;
double r75401 = -r75393;
double r75402 = 2.0;
double r75403 = pow(r75390, r75402);
double r75404 = fma(r75399, r75401, r75403);
double r75405 = sqrt(r75404);
double r75406 = r75405 - r75390;
double r75407 = r75400 / r75406;
double r75408 = r75407 / r75399;
double r75409 = 3.569161879972515e+135;
bool r75410 = r75390 <= r75409;
double r75411 = -r75390;
double r75412 = -r75400;
double r75413 = fma(r75390, r75390, r75412);
double r75414 = sqrt(r75413);
double r75415 = r75411 - r75414;
double r75416 = r75415 / r75399;
double r75417 = r75411 / r75399;
double r75418 = r75390 / r75399;
double r75419 = 0.5;
double r75420 = r75390 / r75393;
double r75421 = r75419 / r75420;
double r75422 = r75418 - r75421;
double r75423 = r75417 - r75422;
double r75424 = r75410 ? r75416 : r75423;
double r75425 = r75398 ? r75408 : r75424;
double r75426 = r75392 ? r75396 : r75425;
return r75426;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -1.532647813487865e+52Initial program 57.3
Taylor expanded around -inf 3.6
Simplified3.6
if -1.532647813487865e+52 < b_2 < -1.571246895950166e-147Initial program 37.3
rmApplied div-sub37.4
Simplified37.4
rmApplied distribute-neg-frac37.4
Applied sub-div37.3
Simplified37.3
rmApplied flip--37.3
Simplified16.9
Simplified16.9
if -1.571246895950166e-147 < b_2 < 3.569161879972515e+135Initial program 11.4
rmApplied div-sub11.4
Simplified11.4
rmApplied distribute-neg-frac11.4
Applied sub-div11.4
Simplified11.4
if 3.569161879972515e+135 < b_2 Initial program 56.9
rmApplied div-sub56.9
Simplified56.9
Taylor expanded around inf 2.5
Simplified2.5
Final simplification8.9
herbie shell --seed 2019195 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))