Average Error: 33.9 → 7.4
Time: 5.0s
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 -3.71711085460076329 \cdot 10^{118}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\ \mathbf{elif}\;b_2 \le 5.2125724160985202 \cdot 10^{-204}:\\ \;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\ \mathbf{elif}\;b_2 \le 3461964491124549:\\ \;\;\;\;\frac{1}{\left(\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \frac{\sqrt[3]{\sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c} \cdot \sqrt[3]{c}}\right) \cdot \frac{\sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c}}\right) \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \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 -3.71711085460076329 \cdot 10^{118}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\

\mathbf{elif}\;b_2 \le 5.2125724160985202 \cdot 10^{-204}:\\
\;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\

\mathbf{elif}\;b_2 \le 3461964491124549:\\
\;\;\;\;\frac{1}{\left(\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \frac{\sqrt[3]{\sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c} \cdot \sqrt[3]{c}}\right) \cdot \frac{\sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c}}\right) \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\

\end{array}
double f(double a, double b_2, double c) {
        double r16265 = b_2;
        double r16266 = -r16265;
        double r16267 = r16265 * r16265;
        double r16268 = a;
        double r16269 = c;
        double r16270 = r16268 * r16269;
        double r16271 = r16267 - r16270;
        double r16272 = sqrt(r16271);
        double r16273 = r16266 + r16272;
        double r16274 = r16273 / r16268;
        return r16274;
}

double f(double a, double b_2, double c) {
        double r16275 = b_2;
        double r16276 = -3.7171108546007633e+118;
        bool r16277 = r16275 <= r16276;
        double r16278 = 0.5;
        double r16279 = c;
        double r16280 = r16279 / r16275;
        double r16281 = r16278 * r16280;
        double r16282 = 2.0;
        double r16283 = a;
        double r16284 = r16275 / r16283;
        double r16285 = r16282 * r16284;
        double r16286 = r16281 - r16285;
        double r16287 = 5.21257241609852e-204;
        bool r16288 = r16275 <= r16287;
        double r16289 = -r16275;
        double r16290 = r16275 * r16275;
        double r16291 = r16283 * r16279;
        double r16292 = r16290 - r16291;
        double r16293 = sqrt(r16292);
        double r16294 = r16289 + r16293;
        double r16295 = r16294 / r16283;
        double r16296 = 3461964491124549.0;
        bool r16297 = r16275 <= r16296;
        double r16298 = 1.0;
        double r16299 = cbrt(r16283);
        double r16300 = r16299 * r16299;
        double r16301 = r16300 / r16283;
        double r16302 = cbrt(r16299);
        double r16303 = r16302 * r16302;
        double r16304 = cbrt(r16279);
        double r16305 = r16304 * r16304;
        double r16306 = r16303 / r16305;
        double r16307 = r16301 * r16306;
        double r16308 = r16302 / r16304;
        double r16309 = r16307 * r16308;
        double r16310 = r16289 - r16293;
        double r16311 = r16309 * r16310;
        double r16312 = r16298 / r16311;
        double r16313 = -0.5;
        double r16314 = r16313 * r16280;
        double r16315 = r16297 ? r16312 : r16314;
        double r16316 = r16288 ? r16295 : r16315;
        double r16317 = r16277 ? r16286 : r16316;
        return r16317;
}

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 < -3.7171108546007633e+118

    1. Initial program 52.0

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Taylor expanded around -inf 2.9

      \[\leadsto \color{blue}{\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}}\]

    if -3.7171108546007633e+118 < b_2 < 5.21257241609852e-204

    1. Initial program 9.6

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]

    if 5.21257241609852e-204 < b_2 < 3461964491124549.0

    1. Initial program 31.8

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied flip-+31.8

      \[\leadsto \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}\]
    4. Simplified16.9

      \[\leadsto \frac{\frac{\color{blue}{0 + a \cdot c}}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}{a}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity16.9

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{1} \cdot \frac{0 + a \cdot c}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}}{a}\]
    9. Applied associate-/l*17.0

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

      \[\leadsto \frac{\frac{1}{1}}{\color{blue}{\frac{a}{a \cdot c} \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}}\]
    11. Using strategy rm
    12. Applied add-cube-cbrt17.6

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

      \[\leadsto \frac{\frac{1}{1}}{\color{blue}{\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \frac{\sqrt[3]{a}}{c}\right)} \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\]
    14. Using strategy rm
    15. Applied add-cube-cbrt13.0

      \[\leadsto \frac{\frac{1}{1}}{\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \frac{\sqrt[3]{a}}{\color{blue}{\left(\sqrt[3]{c} \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}}\right) \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\]
    16. Applied add-cube-cbrt13.2

      \[\leadsto \frac{\frac{1}{1}}{\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \frac{\color{blue}{\left(\sqrt[3]{\sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}\right) \cdot \sqrt[3]{\sqrt[3]{a}}}}{\left(\sqrt[3]{c} \cdot \sqrt[3]{c}\right) \cdot \sqrt[3]{c}}\right) \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\]
    17. Applied times-frac13.2

      \[\leadsto \frac{\frac{1}{1}}{\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \color{blue}{\left(\frac{\sqrt[3]{\sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c} \cdot \sqrt[3]{c}} \cdot \frac{\sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c}}\right)}\right) \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\]
    18. Applied associate-*r*9.7

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

    if 3461964491124549.0 < b_2

    1. Initial program 55.9

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Taylor expanded around inf 5.5

      \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b_2}}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification7.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;b_2 \le -3.71711085460076329 \cdot 10^{118}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\ \mathbf{elif}\;b_2 \le 5.2125724160985202 \cdot 10^{-204}:\\ \;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\ \mathbf{elif}\;b_2 \le 3461964491124549:\\ \;\;\;\;\frac{1}{\left(\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \frac{\sqrt[3]{\sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c} \cdot \sqrt[3]{c}}\right) \cdot \frac{\sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c}}\right) \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \end{array}\]

Reproduce

herbie shell --seed 2020027 
(FPCore (a b_2 c)
  :name "quad2p (problem 3.2.1, positive)"
  :precision binary64
  (/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))