Average Error: 43.2 → 0.4
Time: 18.8s
Precision: 64
\[1.1102230246251565404236316680908203125 \cdot 10^{-16} \lt a \lt 9007199254740992 \land 1.1102230246251565404236316680908203125 \cdot 10^{-16} \lt b \lt 9007199254740992 \land 1.1102230246251565404236316680908203125 \cdot 10^{-16} \lt c \lt 9007199254740992\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
\[\frac{c \cdot \left(a \cdot 3\right) + \left(b \cdot b - b \cdot b\right)}{\left(\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} + b\right) \cdot \left(\left(-a\right) \cdot 3\right)}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
\frac{c \cdot \left(a \cdot 3\right) + \left(b \cdot b - b \cdot b\right)}{\left(\sqrt{b \cdot b - c \cdot \left(a \cdot 3\right)} + b\right) \cdot \left(\left(-a\right) \cdot 3\right)}
double f(double a, double b, double c) {
        double r171443 = b;
        double r171444 = -r171443;
        double r171445 = r171443 * r171443;
        double r171446 = 3.0;
        double r171447 = a;
        double r171448 = r171446 * r171447;
        double r171449 = c;
        double r171450 = r171448 * r171449;
        double r171451 = r171445 - r171450;
        double r171452 = sqrt(r171451);
        double r171453 = r171444 + r171452;
        double r171454 = r171453 / r171448;
        return r171454;
}

double f(double a, double b, double c) {
        double r171455 = c;
        double r171456 = a;
        double r171457 = 3.0;
        double r171458 = r171456 * r171457;
        double r171459 = r171455 * r171458;
        double r171460 = b;
        double r171461 = r171460 * r171460;
        double r171462 = r171461 - r171461;
        double r171463 = r171459 + r171462;
        double r171464 = r171461 - r171459;
        double r171465 = sqrt(r171464);
        double r171466 = r171465 + r171460;
        double r171467 = -r171456;
        double r171468 = r171467 * r171457;
        double r171469 = r171466 * r171468;
        double r171470 = r171463 / r171469;
        return r171470;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 43.2

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

    \[\leadsto \frac{\color{blue}{\frac{\left(-b\right) \cdot \left(-b\right) - \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\right) - \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}}}{3 \cdot a}\]
  4. Simplified0.4

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

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

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

    \[\leadsto \frac{\frac{\left(b \cdot b - b \cdot b\right) + c \cdot \left(a \cdot 3\right)}{\left(-b\right) - \sqrt{b \cdot b - \color{blue}{3 \cdot \left(c \cdot a\right)}}}}{3 \cdot a}\]
  8. Using strategy rm
  9. Applied div-inv0.5

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

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

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

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

Reproduce

herbie shell --seed 2019194 
(FPCore (a b c)
  :name "Cubic critical, medium range"
  :pre (and (< 1.1102230246251565e-16 a 9007199254740992.0) (< 1.1102230246251565e-16 b 9007199254740992.0) (< 1.1102230246251565e-16 c 9007199254740992.0))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 3.0 a) c)))) (* 3.0 a)))