Average Error: 5.3 → 3.1
Time: 23.8s
Precision: 64
\[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
\[\begin{array}{l} \mathbf{if}\;t \le -8.801409940468935 \cdot 10^{+23}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot \left(x \cdot z\right)\right) \cdot y\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \mathbf{elif}\;t \le 4.398142218816576 \cdot 10^{+19}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(t \cdot y\right) \cdot \left(\left(18.0 \cdot x\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(t \cdot \left(\left(\sqrt[3]{y \cdot \left(18.0 \cdot x\right)} \cdot \left(\sqrt[3]{y \cdot \left(18.0 \cdot x\right)} \cdot \sqrt[3]{y \cdot \left(18.0 \cdot x\right)}\right)\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\\ \end{array}\]
\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\begin{array}{l}
\mathbf{if}\;t \le -8.801409940468935 \cdot 10^{+23}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot \left(x \cdot z\right)\right) \cdot y\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\

\mathbf{elif}\;t \le 4.398142218816576 \cdot 10^{+19}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(t \cdot y\right) \cdot \left(\left(18.0 \cdot x\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(t \cdot \left(\left(\sqrt[3]{y \cdot \left(18.0 \cdot x\right)} \cdot \left(\sqrt[3]{y \cdot \left(18.0 \cdot x\right)} \cdot \sqrt[3]{y \cdot \left(18.0 \cdot x\right)}\right)\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\\

\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 r4435429 = x;
        double r4435430 = 18.0;
        double r4435431 = r4435429 * r4435430;
        double r4435432 = y;
        double r4435433 = r4435431 * r4435432;
        double r4435434 = z;
        double r4435435 = r4435433 * r4435434;
        double r4435436 = t;
        double r4435437 = r4435435 * r4435436;
        double r4435438 = a;
        double r4435439 = 4.0;
        double r4435440 = r4435438 * r4435439;
        double r4435441 = r4435440 * r4435436;
        double r4435442 = r4435437 - r4435441;
        double r4435443 = b;
        double r4435444 = c;
        double r4435445 = r4435443 * r4435444;
        double r4435446 = r4435442 + r4435445;
        double r4435447 = r4435429 * r4435439;
        double r4435448 = i;
        double r4435449 = r4435447 * r4435448;
        double r4435450 = r4435446 - r4435449;
        double r4435451 = j;
        double r4435452 = 27.0;
        double r4435453 = r4435451 * r4435452;
        double r4435454 = k;
        double r4435455 = r4435453 * r4435454;
        double r4435456 = r4435450 - r4435455;
        return r4435456;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r4435457 = t;
        double r4435458 = -8.801409940468935e+23;
        bool r4435459 = r4435457 <= r4435458;
        double r4435460 = b;
        double r4435461 = c;
        double r4435462 = r4435460 * r4435461;
        double r4435463 = 18.0;
        double r4435464 = x;
        double r4435465 = z;
        double r4435466 = r4435464 * r4435465;
        double r4435467 = r4435463 * r4435466;
        double r4435468 = y;
        double r4435469 = r4435467 * r4435468;
        double r4435470 = r4435469 * r4435457;
        double r4435471 = a;
        double r4435472 = 4.0;
        double r4435473 = r4435471 * r4435472;
        double r4435474 = r4435473 * r4435457;
        double r4435475 = r4435470 - r4435474;
        double r4435476 = r4435462 + r4435475;
        double r4435477 = r4435464 * r4435472;
        double r4435478 = i;
        double r4435479 = r4435477 * r4435478;
        double r4435480 = r4435476 - r4435479;
        double r4435481 = j;
        double r4435482 = 27.0;
        double r4435483 = k;
        double r4435484 = r4435482 * r4435483;
        double r4435485 = r4435481 * r4435484;
        double r4435486 = r4435480 - r4435485;
        double r4435487 = 4.398142218816576e+19;
        bool r4435488 = r4435457 <= r4435487;
        double r4435489 = r4435457 * r4435468;
        double r4435490 = r4435463 * r4435464;
        double r4435491 = r4435490 * r4435465;
        double r4435492 = r4435489 * r4435491;
        double r4435493 = r4435492 - r4435474;
        double r4435494 = r4435462 + r4435493;
        double r4435495 = r4435494 - r4435479;
        double r4435496 = r4435495 - r4435485;
        double r4435497 = r4435468 * r4435490;
        double r4435498 = cbrt(r4435497);
        double r4435499 = r4435498 * r4435498;
        double r4435500 = r4435498 * r4435499;
        double r4435501 = r4435500 * r4435465;
        double r4435502 = r4435457 * r4435501;
        double r4435503 = r4435502 - r4435474;
        double r4435504 = r4435503 + r4435462;
        double r4435505 = r4435504 - r4435479;
        double r4435506 = r4435481 * r4435482;
        double r4435507 = r4435506 * r4435483;
        double r4435508 = r4435505 - r4435507;
        double r4435509 = r4435488 ? r4435496 : r4435508;
        double r4435510 = r4435459 ? r4435486 : r4435509;
        return r4435510;
}

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

Derivation

  1. Split input into 3 regimes
  2. if t < -8.801409940468935e+23

    1. Initial program 1.3

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*1.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \color{blue}{j \cdot \left(27.0 \cdot k\right)}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity1.4

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot \color{blue}{\left(1 \cdot t\right)} - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\]
    6. Applied associate-*r*1.4

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot 1\right) \cdot t} - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\]
    7. Simplified1.6

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(18.0 \cdot x\right) \cdot z\right) \cdot y\right)} \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\]
    8. Using strategy rm
    9. Applied associate-*l*1.7

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

    if -8.801409940468935e+23 < t < 4.398142218816576e+19

    1. Initial program 7.1

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Using strategy rm
    3. Applied associate-*l*7.1

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \color{blue}{j \cdot \left(27.0 \cdot k\right)}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity7.1

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot \color{blue}{\left(1 \cdot t\right)} - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\]
    6. Applied associate-*r*7.1

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot 1\right) \cdot t} - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\]
    7. Simplified7.1

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(18.0 \cdot x\right) \cdot z\right) \cdot y\right)} \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\]
    8. Using strategy rm
    9. Applied associate-*l*3.7

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

    if 4.398142218816576e+19 < t

    1. Initial program 1.9

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Using strategy rm
    3. Applied add-cube-cbrt2.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -8.801409940468935 \cdot 10^{+23}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot \left(x \cdot z\right)\right) \cdot y\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \mathbf{elif}\;t \le 4.398142218816576 \cdot 10^{+19}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(t \cdot y\right) \cdot \left(\left(18.0 \cdot x\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(t \cdot \left(\left(\sqrt[3]{y \cdot \left(18.0 \cdot x\right)} \cdot \left(\sqrt[3]{y \cdot \left(18.0 \cdot x\right)} \cdot \sqrt[3]{y \cdot \left(18.0 \cdot x\right)}\right)\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\\ \end{array}\]

Reproduce

herbie shell --seed 2019168 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1"
  (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))