Average Error: 28.7 → 16.7
Time: 13.0s
Precision: 64
\[1.0536712127723509 \cdot 10^{-08} \lt a \lt 94906265.62425156 \land 1.0536712127723509 \cdot 10^{-08} \lt b \lt 94906265.62425156 \land 1.0536712127723509 \cdot 10^{-08} \lt c \lt 94906265.62425156\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
\[\begin{array}{l} \mathbf{if}\;b \le 242.4632640034452:\\ \;\;\;\;\frac{\frac{\left(\left(a \cdot c\right) \cdot -3 + b \cdot b\right) \cdot \sqrt{\left(a \cdot c\right) \cdot -3 + b \cdot b} - b \cdot \left(b \cdot b\right)}{\left(\left(a \cdot c\right) \cdot -3 + b \cdot b\right) + \left(b \cdot b + b \cdot \sqrt{\left(a \cdot c\right) \cdot -3 + b \cdot b}\right)}}{a \cdot 3}\\ \mathbf{elif}\;b \le 6425.461402364593:\\ \;\;\;\;\sqrt[3]{\frac{-1}{8} \cdot \frac{\frac{a \cdot c}{b} \cdot \frac{a \cdot c}{b}}{\frac{a \cdot \left(a \cdot a\right)}{\frac{a \cdot c}{b}}}}\\ \mathbf{elif}\;b \le 13378.421715408645:\\ \;\;\;\;\frac{\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} \cdot \sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} - b \cdot b}{\left(\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} + b\right) \cdot \left(a \cdot 3\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b}\\ \end{array}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
\begin{array}{l}
\mathbf{if}\;b \le 242.4632640034452:\\
\;\;\;\;\frac{\frac{\left(\left(a \cdot c\right) \cdot -3 + b \cdot b\right) \cdot \sqrt{\left(a \cdot c\right) \cdot -3 + b \cdot b} - b \cdot \left(b \cdot b\right)}{\left(\left(a \cdot c\right) \cdot -3 + b \cdot b\right) + \left(b \cdot b + b \cdot \sqrt{\left(a \cdot c\right) \cdot -3 + b \cdot b}\right)}}{a \cdot 3}\\

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

\mathbf{elif}\;b \le 13378.421715408645:\\
\;\;\;\;\frac{\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} \cdot \sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} - b \cdot b}{\left(\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} + b\right) \cdot \left(a \cdot 3\right)}\\

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

\end{array}
double f(double a, double b, double c, double __attribute__((unused)) d) {
        double r1213212 = b;
        double r1213213 = -r1213212;
        double r1213214 = r1213212 * r1213212;
        double r1213215 = 3.0;
        double r1213216 = a;
        double r1213217 = r1213215 * r1213216;
        double r1213218 = c;
        double r1213219 = r1213217 * r1213218;
        double r1213220 = r1213214 - r1213219;
        double r1213221 = sqrt(r1213220);
        double r1213222 = r1213213 + r1213221;
        double r1213223 = r1213222 / r1213217;
        return r1213223;
}

double f(double a, double b, double c, double __attribute__((unused)) d) {
        double r1213224 = b;
        double r1213225 = 242.4632640034452;
        bool r1213226 = r1213224 <= r1213225;
        double r1213227 = a;
        double r1213228 = c;
        double r1213229 = r1213227 * r1213228;
        double r1213230 = -3.0;
        double r1213231 = r1213229 * r1213230;
        double r1213232 = r1213224 * r1213224;
        double r1213233 = r1213231 + r1213232;
        double r1213234 = sqrt(r1213233);
        double r1213235 = r1213233 * r1213234;
        double r1213236 = r1213224 * r1213232;
        double r1213237 = r1213235 - r1213236;
        double r1213238 = r1213224 * r1213234;
        double r1213239 = r1213232 + r1213238;
        double r1213240 = r1213233 + r1213239;
        double r1213241 = r1213237 / r1213240;
        double r1213242 = 3.0;
        double r1213243 = r1213227 * r1213242;
        double r1213244 = r1213241 / r1213243;
        double r1213245 = 6425.461402364593;
        bool r1213246 = r1213224 <= r1213245;
        double r1213247 = -0.125;
        double r1213248 = r1213229 / r1213224;
        double r1213249 = r1213248 * r1213248;
        double r1213250 = r1213227 * r1213227;
        double r1213251 = r1213227 * r1213250;
        double r1213252 = r1213251 / r1213248;
        double r1213253 = r1213249 / r1213252;
        double r1213254 = r1213247 * r1213253;
        double r1213255 = cbrt(r1213254);
        double r1213256 = 13378.421715408645;
        bool r1213257 = r1213224 <= r1213256;
        double r1213258 = r1213228 * r1213243;
        double r1213259 = r1213232 - r1213258;
        double r1213260 = sqrt(r1213259);
        double r1213261 = r1213260 * r1213260;
        double r1213262 = r1213261 - r1213232;
        double r1213263 = r1213260 + r1213224;
        double r1213264 = r1213263 * r1213243;
        double r1213265 = r1213262 / r1213264;
        double r1213266 = -0.5;
        double r1213267 = r1213228 / r1213224;
        double r1213268 = r1213266 * r1213267;
        double r1213269 = r1213257 ? r1213265 : r1213268;
        double r1213270 = r1213246 ? r1213255 : r1213269;
        double r1213271 = r1213226 ? r1213244 : r1213270;
        return r1213271;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus d

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if b < 242.4632640034452

    1. Initial program 16.1

      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
    2. Simplified16.1

      \[\leadsto \color{blue}{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a}}\]
    3. Using strategy rm
    4. Applied flip3--16.2

      \[\leadsto \frac{\color{blue}{\frac{{\left(\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}\right)}^{3} - {b}^{3}}{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} \cdot \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} + \left(b \cdot b + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} \cdot b\right)}}}{3 \cdot a}\]
    5. Simplified15.5

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(a \cdot c\right) \cdot -3 + b \cdot b} \cdot \left(\left(a \cdot c\right) \cdot -3 + b \cdot b\right) - \left(b \cdot b\right) \cdot b}}{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} \cdot \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} + \left(b \cdot b + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} \cdot b\right)}}{3 \cdot a}\]
    6. Simplified15.5

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

    if 242.4632640034452 < b < 6425.461402364593

    1. Initial program 26.0

      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
    2. Simplified26.0

      \[\leadsto \color{blue}{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a}}\]
    3. Taylor expanded around inf 24.4

      \[\leadsto \frac{\color{blue}{\frac{-3}{2} \cdot \frac{a \cdot c}{b}}}{3 \cdot a}\]
    4. Using strategy rm
    5. Applied add-cbrt-cube24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \frac{a \cdot c}{b}}{3 \cdot \color{blue}{\sqrt[3]{\left(a \cdot a\right) \cdot a}}}\]
    6. Applied add-cbrt-cube24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \frac{a \cdot c}{b}}{\color{blue}{\sqrt[3]{\left(3 \cdot 3\right) \cdot 3}} \cdot \sqrt[3]{\left(a \cdot a\right) \cdot a}}\]
    7. Applied cbrt-unprod24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \frac{a \cdot c}{b}}{\color{blue}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}}\]
    8. Applied add-cbrt-cube24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \frac{a \cdot c}{\color{blue}{\sqrt[3]{\left(b \cdot b\right) \cdot b}}}}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}\]
    9. Applied add-cbrt-cube24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \frac{a \cdot \color{blue}{\sqrt[3]{\left(c \cdot c\right) \cdot c}}}{\sqrt[3]{\left(b \cdot b\right) \cdot b}}}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}\]
    10. Applied add-cbrt-cube24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \frac{\color{blue}{\sqrt[3]{\left(a \cdot a\right) \cdot a}} \cdot \sqrt[3]{\left(c \cdot c\right) \cdot c}}{\sqrt[3]{\left(b \cdot b\right) \cdot b}}}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}\]
    11. Applied cbrt-unprod24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \frac{\color{blue}{\sqrt[3]{\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(c \cdot c\right) \cdot c\right)}}}{\sqrt[3]{\left(b \cdot b\right) \cdot b}}}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}\]
    12. Applied cbrt-undiv24.4

      \[\leadsto \frac{\frac{-3}{2} \cdot \color{blue}{\sqrt[3]{\frac{\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(c \cdot c\right) \cdot c\right)}{\left(b \cdot b\right) \cdot b}}}}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}\]
    13. Applied add-cbrt-cube24.4

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\frac{-3}{2} \cdot \frac{-3}{2}\right) \cdot \frac{-3}{2}}} \cdot \sqrt[3]{\frac{\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(c \cdot c\right) \cdot c\right)}{\left(b \cdot b\right) \cdot b}}}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}\]
    14. Applied cbrt-unprod24.4

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\left(\frac{-3}{2} \cdot \frac{-3}{2}\right) \cdot \frac{-3}{2}\right) \cdot \frac{\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(c \cdot c\right) \cdot c\right)}{\left(b \cdot b\right) \cdot b}}}}{\sqrt[3]{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}\]
    15. Applied cbrt-undiv24.4

      \[\leadsto \color{blue}{\sqrt[3]{\frac{\left(\left(\frac{-3}{2} \cdot \frac{-3}{2}\right) \cdot \frac{-3}{2}\right) \cdot \frac{\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(c \cdot c\right) \cdot c\right)}{\left(b \cdot b\right) \cdot b}}{\left(\left(3 \cdot 3\right) \cdot 3\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)}}}\]
    16. Simplified24.4

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

    if 6425.461402364593 < b < 13378.421715408645

    1. Initial program 29.4

      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
    2. Simplified29.4

      \[\leadsto \color{blue}{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a}}\]
    3. Using strategy rm
    4. Applied flip--29.3

      \[\leadsto \frac{\color{blue}{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} \cdot \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b \cdot b}{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} + b}}}{3 \cdot a}\]
    5. Applied associate-/l/29.3

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

    if 13378.421715408645 < b

    1. Initial program 38.6

      \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
    2. Simplified38.6

      \[\leadsto \color{blue}{\frac{\sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c} - b}{3 \cdot a}}\]
    3. Taylor expanded around inf 14.5

      \[\leadsto \frac{\color{blue}{\frac{-3}{2} \cdot \frac{a \cdot c}{b}}}{3 \cdot a}\]
    4. Taylor expanded around -inf 14.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le 242.4632640034452:\\ \;\;\;\;\frac{\frac{\left(\left(a \cdot c\right) \cdot -3 + b \cdot b\right) \cdot \sqrt{\left(a \cdot c\right) \cdot -3 + b \cdot b} - b \cdot \left(b \cdot b\right)}{\left(\left(a \cdot c\right) \cdot -3 + b \cdot b\right) + \left(b \cdot b + b \cdot \sqrt{\left(a \cdot c\right) \cdot -3 + b \cdot b}\right)}}{a \cdot 3}\\ \mathbf{elif}\;b \le 6425.461402364593:\\ \;\;\;\;\sqrt[3]{\frac{-1}{8} \cdot \frac{\frac{a \cdot c}{b} \cdot \frac{a \cdot c}{b}}{\frac{a \cdot \left(a \cdot a\right)}{\frac{a \cdot c}{b}}}}\\ \mathbf{elif}\;b \le 13378.421715408645:\\ \;\;\;\;\frac{\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} \cdot \sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} - b \cdot b}{\left(\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} + b\right) \cdot \left(a \cdot 3\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b}\\ \end{array}\]

Reproduce

herbie shell --seed 2019128 
(FPCore (a b c d)
  :name "Cubic critical, narrow range"
  :pre (and (< 1.0536712127723509e-08 a 94906265.62425156) (< 1.0536712127723509e-08 b 94906265.62425156) (< 1.0536712127723509e-08 c 94906265.62425156))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)))