Average Error: 5.9 → 2.5
Time: 27.0s
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 -3240160021670852289976336384:\\ \;\;\;\;\left(\left(b \cdot c + \left(18 \cdot \left(y \cdot \left(\left(t \cdot x\right) \cdot z\right)\right) - t \cdot \left(a \cdot 4\right)\right)\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \mathbf{elif}\;z \le 3.081878854711681516799884746506413502473 \cdot 10^{-29}:\\ \;\;\;\;t \cdot \left(y \cdot \left(\left(18 \cdot z\right) \cdot x\right) - a \cdot 4\right) - \left(\left(\left(i \cdot x\right) \cdot 4 - b \cdot c\right) + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(z \cdot \left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot t\right) - t \cdot \left(a \cdot 4\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - k \cdot \left(j \cdot 27\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 -3240160021670852289976336384:\\
\;\;\;\;\left(\left(b \cdot c + \left(18 \cdot \left(y \cdot \left(\left(t \cdot x\right) \cdot z\right)\right) - t \cdot \left(a \cdot 4\right)\right)\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(z \cdot \left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot t\right) - t \cdot \left(a \cdot 4\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - k \cdot \left(j \cdot 27\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 r113512 = x;
        double r113513 = 18.0;
        double r113514 = r113512 * r113513;
        double r113515 = y;
        double r113516 = r113514 * r113515;
        double r113517 = z;
        double r113518 = r113516 * r113517;
        double r113519 = t;
        double r113520 = r113518 * r113519;
        double r113521 = a;
        double r113522 = 4.0;
        double r113523 = r113521 * r113522;
        double r113524 = r113523 * r113519;
        double r113525 = r113520 - r113524;
        double r113526 = b;
        double r113527 = c;
        double r113528 = r113526 * r113527;
        double r113529 = r113525 + r113528;
        double r113530 = r113512 * r113522;
        double r113531 = i;
        double r113532 = r113530 * r113531;
        double r113533 = r113529 - r113532;
        double r113534 = j;
        double r113535 = 27.0;
        double r113536 = r113534 * r113535;
        double r113537 = k;
        double r113538 = r113536 * r113537;
        double r113539 = r113533 - r113538;
        return r113539;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r113540 = z;
        double r113541 = -3.2401600216708523e+27;
        bool r113542 = r113540 <= r113541;
        double r113543 = b;
        double r113544 = c;
        double r113545 = r113543 * r113544;
        double r113546 = 18.0;
        double r113547 = y;
        double r113548 = t;
        double r113549 = x;
        double r113550 = r113548 * r113549;
        double r113551 = r113550 * r113540;
        double r113552 = r113547 * r113551;
        double r113553 = r113546 * r113552;
        double r113554 = a;
        double r113555 = 4.0;
        double r113556 = r113554 * r113555;
        double r113557 = r113548 * r113556;
        double r113558 = r113553 - r113557;
        double r113559 = r113545 + r113558;
        double r113560 = r113549 * r113555;
        double r113561 = i;
        double r113562 = r113560 * r113561;
        double r113563 = r113559 - r113562;
        double r113564 = j;
        double r113565 = 27.0;
        double r113566 = k;
        double r113567 = r113565 * r113566;
        double r113568 = r113564 * r113567;
        double r113569 = r113563 - r113568;
        double r113570 = 3.0818788547116815e-29;
        bool r113571 = r113540 <= r113570;
        double r113572 = r113546 * r113540;
        double r113573 = r113572 * r113549;
        double r113574 = r113547 * r113573;
        double r113575 = r113574 - r113556;
        double r113576 = r113548 * r113575;
        double r113577 = r113561 * r113549;
        double r113578 = r113577 * r113555;
        double r113579 = r113578 - r113545;
        double r113580 = r113579 + r113568;
        double r113581 = r113576 - r113580;
        double r113582 = r113546 * r113547;
        double r113583 = r113549 * r113582;
        double r113584 = r113583 * r113548;
        double r113585 = r113540 * r113584;
        double r113586 = r113585 - r113557;
        double r113587 = r113586 + r113545;
        double r113588 = r113587 - r113562;
        double r113589 = r113564 * r113565;
        double r113590 = r113566 * r113589;
        double r113591 = r113588 - r113590;
        double r113592 = r113571 ? r113581 : r113591;
        double r113593 = r113542 ? r113569 : r113592;
        return r113593;
}

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 z < -3.2401600216708523e+27

    1. Initial program 7.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. Taylor expanded around inf 13.3

      \[\leadsto \left(\left(\left(\color{blue}{18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)} - \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\]
    3. Simplified6.0

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(t \cdot x\right) \cdot z\right) \cdot y\right) \cdot 18} - \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\]
    4. Using strategy rm
    5. Applied associate-*l*6.0

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

    if -3.2401600216708523e+27 < z < 3.0818788547116815e-29

    1. Initial program 5.1

      \[\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. Simplified1.6

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

    if 3.0818788547116815e-29 < z

    1. Initial program 6.2

      \[\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. Using strategy rm
    3. Applied pow16.2

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot \color{blue}{{t}^{1}} - \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\]
    4. Applied pow16.2

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \color{blue}{{z}^{1}}\right) \cdot {t}^{1} - \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\]
    5. Applied pow16.2

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot \color{blue}{{y}^{1}}\right) \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    6. Applied pow16.2

      \[\leadsto \left(\left(\left(\left(\left(\left(x \cdot \color{blue}{{18}^{1}}\right) \cdot {y}^{1}\right) \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    7. Applied pow16.2

      \[\leadsto \left(\left(\left(\left(\left(\left(\color{blue}{{x}^{1}} \cdot {18}^{1}\right) \cdot {y}^{1}\right) \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    8. Applied pow-prod-down6.2

      \[\leadsto \left(\left(\left(\left(\left(\color{blue}{{\left(x \cdot 18\right)}^{1}} \cdot {y}^{1}\right) \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    9. Applied pow-prod-down6.2

      \[\leadsto \left(\left(\left(\left(\color{blue}{{\left(\left(x \cdot 18\right) \cdot y\right)}^{1}} \cdot {z}^{1}\right) \cdot {t}^{1} - \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\]
    10. Applied pow-prod-down6.2

      \[\leadsto \left(\left(\left(\color{blue}{{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right)}^{1}} \cdot {t}^{1} - \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\]
    11. Applied pow-prod-down6.2

      \[\leadsto \left(\left(\left(\color{blue}{{\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t\right)}^{1}} - \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\]
    12. Simplified1.5

      \[\leadsto \left(\left(\left({\color{blue}{\left(\left(t \cdot \left(x \cdot \left(18 \cdot y\right)\right)\right) \cdot z\right)}}^{1} - \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\]
  3. Recombined 3 regimes into one program.
  4. Final simplification2.5

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

Reproduce

herbie shell --seed 2019179 
(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)))