Average Error: 34.6 → 8.9
Time: 4.3s
Precision: 64
\[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
\[\begin{array}{l} \mathbf{if}\;b_2 \le -1.69515204409029045 \cdot 10^{47}:\\ \;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\ \mathbf{elif}\;b_2 \le -6.7344880337585643 \cdot 10^{-149}:\\ \;\;\;\;1 \cdot \frac{\frac{0 + a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{a}\\ \mathbf{elif}\;b_2 \le 2.5329642823852832 \cdot 10^{69}:\\ \;\;\;\;1 \cdot \left(\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\right)\\ \mathbf{else}:\\ \;\;\;\;1 \cdot \left(\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\right)\\ \end{array}\]
\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}
\begin{array}{l}
\mathbf{if}\;b_2 \le -1.69515204409029045 \cdot 10^{47}:\\
\;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\

\mathbf{elif}\;b_2 \le -6.7344880337585643 \cdot 10^{-149}:\\
\;\;\;\;1 \cdot \frac{\frac{0 + a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{a}\\

\mathbf{elif}\;b_2 \le 2.5329642823852832 \cdot 10^{69}:\\
\;\;\;\;1 \cdot \left(\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\right)\\

\mathbf{else}:\\
\;\;\;\;1 \cdot \left(\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\right)\\

\end{array}
double f(double a, double b_2, double c) {
        double r78374 = b_2;
        double r78375 = -r78374;
        double r78376 = r78374 * r78374;
        double r78377 = a;
        double r78378 = c;
        double r78379 = r78377 * r78378;
        double r78380 = r78376 - r78379;
        double r78381 = sqrt(r78380);
        double r78382 = r78375 - r78381;
        double r78383 = r78382 / r78377;
        return r78383;
}

double f(double a, double b_2, double c) {
        double r78384 = b_2;
        double r78385 = -1.6951520440902905e+47;
        bool r78386 = r78384 <= r78385;
        double r78387 = 1.0;
        double r78388 = -0.5;
        double r78389 = c;
        double r78390 = r78389 / r78384;
        double r78391 = r78388 * r78390;
        double r78392 = r78387 * r78391;
        double r78393 = -6.734488033758564e-149;
        bool r78394 = r78384 <= r78393;
        double r78395 = 0.0;
        double r78396 = a;
        double r78397 = r78396 * r78389;
        double r78398 = r78395 + r78397;
        double r78399 = r78384 * r78384;
        double r78400 = r78399 - r78397;
        double r78401 = sqrt(r78400);
        double r78402 = r78401 - r78384;
        double r78403 = r78398 / r78402;
        double r78404 = r78403 / r78396;
        double r78405 = r78387 * r78404;
        double r78406 = 2.5329642823852832e+69;
        bool r78407 = r78384 <= r78406;
        double r78408 = -r78384;
        double r78409 = r78408 / r78396;
        double r78410 = r78401 / r78396;
        double r78411 = r78409 - r78410;
        double r78412 = r78387 * r78411;
        double r78413 = 0.5;
        double r78414 = r78413 * r78390;
        double r78415 = 2.0;
        double r78416 = r78384 / r78396;
        double r78417 = r78415 * r78416;
        double r78418 = r78414 - r78417;
        double r78419 = r78387 * r78418;
        double r78420 = r78407 ? r78412 : r78419;
        double r78421 = r78394 ? r78405 : r78420;
        double r78422 = r78386 ? r78392 : r78421;
        return r78422;
}

Error

Bits error versus a

Bits error versus b_2

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if b_2 < -1.6951520440902905e+47

    1. Initial program 56.8

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity56.8

      \[\leadsto \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{\color{blue}{1 \cdot a}}\]
    4. Applied *-un-lft-identity56.8

      \[\leadsto \frac{\color{blue}{1 \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}}{1 \cdot a}\]
    5. Applied times-frac56.8

      \[\leadsto \color{blue}{\frac{1}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}}\]
    6. Simplified56.8

      \[\leadsto \color{blue}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    7. Using strategy rm
    8. Applied div-sub58.0

      \[\leadsto 1 \cdot \color{blue}{\left(\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\right)}\]
    9. Taylor expanded around -inf 4.2

      \[\leadsto 1 \cdot \color{blue}{\left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)}\]

    if -1.6951520440902905e+47 < b_2 < -6.734488033758564e-149

    1. Initial program 37.9

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity37.9

      \[\leadsto \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{\color{blue}{1 \cdot a}}\]
    4. Applied *-un-lft-identity37.9

      \[\leadsto \frac{\color{blue}{1 \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}}{1 \cdot a}\]
    5. Applied times-frac37.9

      \[\leadsto \color{blue}{\frac{1}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}}\]
    6. Simplified37.9

      \[\leadsto \color{blue}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    7. Using strategy rm
    8. Applied flip--37.9

      \[\leadsto 1 \cdot \frac{\color{blue}{\frac{\left(-b_2\right) \cdot \left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c} \cdot \sqrt{b_2 \cdot b_2 - a \cdot c}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}}}{a}\]
    9. Simplified17.1

      \[\leadsto 1 \cdot \frac{\frac{\color{blue}{0 + a \cdot c}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}}{a}\]
    10. Simplified17.1

      \[\leadsto 1 \cdot \frac{\frac{0 + a \cdot c}{\color{blue}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{a}\]

    if -6.734488033758564e-149 < b_2 < 2.5329642823852832e+69

    1. Initial program 11.4

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity11.4

      \[\leadsto \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{\color{blue}{1 \cdot a}}\]
    4. Applied *-un-lft-identity11.4

      \[\leadsto \frac{\color{blue}{1 \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}}{1 \cdot a}\]
    5. Applied times-frac11.4

      \[\leadsto \color{blue}{\frac{1}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}}\]
    6. Simplified11.4

      \[\leadsto \color{blue}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    7. Using strategy rm
    8. Applied div-sub11.3

      \[\leadsto 1 \cdot \color{blue}{\left(\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\right)}\]

    if 2.5329642823852832e+69 < b_2

    1. Initial program 42.5

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity42.5

      \[\leadsto \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{\color{blue}{1 \cdot a}}\]
    4. Applied *-un-lft-identity42.5

      \[\leadsto \frac{\color{blue}{1 \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}}{1 \cdot a}\]
    5. Applied times-frac42.5

      \[\leadsto \color{blue}{\frac{1}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}}\]
    6. Simplified42.5

      \[\leadsto \color{blue}{1} \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    7. Using strategy rm
    8. Applied div-sub42.5

      \[\leadsto 1 \cdot \color{blue}{\left(\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\right)}\]
    9. Taylor expanded around inf 4.7

      \[\leadsto 1 \cdot \color{blue}{\left(\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\right)}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification8.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;b_2 \le -1.69515204409029045 \cdot 10^{47}:\\ \;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\ \mathbf{elif}\;b_2 \le -6.7344880337585643 \cdot 10^{-149}:\\ \;\;\;\;1 \cdot \frac{\frac{0 + a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{a}\\ \mathbf{elif}\;b_2 \le 2.5329642823852832 \cdot 10^{69}:\\ \;\;\;\;1 \cdot \left(\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\right)\\ \mathbf{else}:\\ \;\;\;\;1 \cdot \left(\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020020 
(FPCore (a b_2 c)
  :name "NMSE problem 3.2.1"
  :precision binary64
  (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))