Average Error: 5.6 → 3.4
Time: 24.8s
Precision: 64
\[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
\[\begin{array}{l} \mathbf{if}\;z \le -7.2131406689924034 \cdot 10^{45}:\\ \;\;\;\;\left(\left(\left(t \cdot {\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3}\right) \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) + \left(-a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{elif}\;z \le 1.86064292666481138 \cdot 10^{-39}:\\ \;\;\;\;\left(\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - 4 \cdot \left(a \cdot t\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\ \end{array}\]
\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k
\begin{array}{l}
\mathbf{if}\;z \le -7.2131406689924034 \cdot 10^{45}:\\
\;\;\;\;\left(\left(\left(t \cdot {\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3}\right) \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) + \left(-a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\

\mathbf{elif}\;z \le 1.86064292666481138 \cdot 10^{-39}:\\
\;\;\;\;\left(\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - 4 \cdot \left(a \cdot t\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r947440 = x;
        double r947441 = 18.0;
        double r947442 = r947440 * r947441;
        double r947443 = y;
        double r947444 = r947442 * r947443;
        double r947445 = z;
        double r947446 = r947444 * r947445;
        double r947447 = t;
        double r947448 = r947446 * r947447;
        double r947449 = a;
        double r947450 = 4.0;
        double r947451 = r947449 * r947450;
        double r947452 = r947451 * r947447;
        double r947453 = r947448 - r947452;
        double r947454 = b;
        double r947455 = c;
        double r947456 = r947454 * r947455;
        double r947457 = r947453 + r947456;
        double r947458 = r947440 * r947450;
        double r947459 = i;
        double r947460 = r947458 * r947459;
        double r947461 = r947457 - r947460;
        double r947462 = j;
        double r947463 = 27.0;
        double r947464 = r947462 * r947463;
        double r947465 = k;
        double r947466 = r947464 * r947465;
        double r947467 = r947461 - r947466;
        return r947467;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r947468 = z;
        double r947469 = -7.213140668992403e+45;
        bool r947470 = r947468 <= r947469;
        double r947471 = t;
        double r947472 = cbrt(r947468);
        double r947473 = cbrt(r947472);
        double r947474 = 3.0;
        double r947475 = pow(r947473, r947474);
        double r947476 = r947471 * r947475;
        double r947477 = x;
        double r947478 = 18.0;
        double r947479 = r947477 * r947478;
        double r947480 = y;
        double r947481 = r947479 * r947480;
        double r947482 = r947472 * r947472;
        double r947483 = r947481 * r947482;
        double r947484 = r947476 * r947483;
        double r947485 = a;
        double r947486 = 4.0;
        double r947487 = r947485 * r947486;
        double r947488 = -r947487;
        double r947489 = r947488 * r947471;
        double r947490 = r947484 + r947489;
        double r947491 = b;
        double r947492 = c;
        double r947493 = r947491 * r947492;
        double r947494 = r947490 + r947493;
        double r947495 = r947477 * r947486;
        double r947496 = i;
        double r947497 = r947495 * r947496;
        double r947498 = j;
        double r947499 = 27.0;
        double r947500 = k;
        double r947501 = r947499 * r947500;
        double r947502 = r947498 * r947501;
        double r947503 = r947497 + r947502;
        double r947504 = r947494 - r947503;
        double r947505 = 1.8606429266648114e-39;
        bool r947506 = r947468 <= r947505;
        double r947507 = r947468 * r947480;
        double r947508 = r947477 * r947507;
        double r947509 = r947471 * r947508;
        double r947510 = r947478 * r947509;
        double r947511 = r947485 * r947471;
        double r947512 = r947486 * r947511;
        double r947513 = r947510 - r947512;
        double r947514 = r947513 + r947493;
        double r947515 = r947514 - r947503;
        double r947516 = sqrt(r947468);
        double r947517 = r947481 * r947516;
        double r947518 = r947517 * r947516;
        double r947519 = r947518 - r947487;
        double r947520 = r947471 * r947519;
        double r947521 = r947520 + r947493;
        double r947522 = r947498 * r947499;
        double r947523 = r947522 * r947500;
        double r947524 = r947497 + r947523;
        double r947525 = r947521 - r947524;
        double r947526 = r947506 ? r947515 : r947525;
        double r947527 = r947470 ? r947504 : r947526;
        return r947527;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Bits error versus j

Bits error versus k

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original5.6
Target1.6
Herbie3.4
\[\begin{array}{l} \mathbf{if}\;t \lt -1.6210815397541398 \cdot 10^{-69}:\\ \;\;\;\;\left(\left(18 \cdot t\right) \cdot \left(\left(x \cdot y\right) \cdot z\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) - \left(\left(k \cdot j\right) \cdot 27 - c \cdot b\right)\\ \mathbf{elif}\;t \lt 165.680279438052224:\\ \;\;\;\;\left(\left(18 \cdot y\right) \cdot \left(x \cdot \left(z \cdot t\right)\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) + \left(c \cdot b - 27 \cdot \left(k \cdot j\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(18 \cdot t\right) \cdot \left(\left(x \cdot y\right) \cdot z\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) - \left(\left(k \cdot j\right) \cdot 27 - c \cdot b\right)\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if z < -7.213140668992403e+45

    1. Initial program 6.6

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified6.6

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*6.5

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \color{blue}{j \cdot \left(27 \cdot k\right)}\right)\]
    5. Using strategy rm
    6. Applied add-cube-cbrt6.7

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \color{blue}{\left(\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    7. Applied associate-*r*6.7

      \[\leadsto \left(t \cdot \left(\color{blue}{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    8. Using strategy rm
    9. Applied add-cube-cbrt6.8

      \[\leadsto \left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    10. Using strategy rm
    11. Applied sub-neg6.8

      \[\leadsto \left(t \cdot \color{blue}{\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}\right) + \left(-a \cdot 4\right)\right)} + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    12. Applied distribute-lft-in6.8

      \[\leadsto \left(\color{blue}{\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}\right)\right) + t \cdot \left(-a \cdot 4\right)\right)} + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    13. Simplified5.2

      \[\leadsto \left(\left(\color{blue}{\left(t \cdot {\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3}\right) \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right)} + t \cdot \left(-a \cdot 4\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    14. Simplified5.2

      \[\leadsto \left(\left(\left(t \cdot {\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3}\right) \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) + \color{blue}{\left(-a \cdot 4\right) \cdot t}\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]

    if -7.213140668992403e+45 < z < 1.8606429266648114e-39

    1. Initial program 4.9

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified4.9

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*4.8

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \color{blue}{j \cdot \left(27 \cdot k\right)}\right)\]
    5. Using strategy rm
    6. Applied add-cube-cbrt4.8

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \color{blue}{\left(\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    7. Applied associate-*r*4.8

      \[\leadsto \left(t \cdot \left(\color{blue}{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    8. Using strategy rm
    9. Applied add-cube-cbrt4.8

      \[\leadsto \left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    10. Taylor expanded around inf 1.4

      \[\leadsto \left(\color{blue}{\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - 4 \cdot \left(a \cdot t\right)\right)} + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]

    if 1.8606429266648114e-39 < z

    1. Initial program 6.5

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified6.5

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt6.5

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \color{blue}{\left(\sqrt{z} \cdot \sqrt{z}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\]
    5. Applied associate-*r*6.5

      \[\leadsto \left(t \cdot \left(\color{blue}{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z}} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification3.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \le -7.2131406689924034 \cdot 10^{45}:\\ \;\;\;\;\left(\left(\left(t \cdot {\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3}\right) \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) + \left(-a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{elif}\;z \le 1.86064292666481138 \cdot 10^{-39}:\\ \;\;\;\;\left(\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - 4 \cdot \left(a \cdot t\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, E"
  :precision binary64

  :herbie-target
  (if (< t -1.6210815397541398e-69) (- (- (* (* 18 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4)) (- (* (* k j) 27) (* c b))) (if (< t 165.68027943805222) (+ (- (* (* 18 y) (* x (* z t))) (* (+ (* a t) (* i x)) 4)) (- (* c b) (* 27 (* k j)))) (- (- (* (* 18 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4)) (- (* (* k j) 27) (* c b)))))

  (- (- (+ (- (* (* (* (* x 18) y) z) t) (* (* a 4) t)) (* b c)) (* (* x 4) i)) (* (* j 27) k)))