Average Error: 5.6 → 3.6
Time: 31.4s
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}\;t \le -7.467666342330362837578212211978847188411 \cdot 10^{56}:\\ \;\;\;\;\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) - \sqrt{27} \cdot \left(\sqrt{27} \cdot \left(k \cdot j\right)\right)\\ \mathbf{elif}\;t \le 1.03627926093686525716420392912551359763 \cdot 10^{45}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(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\\ \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}\;t \le -7.467666342330362837578212211978847188411 \cdot 10^{56}:\\
\;\;\;\;\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) - \sqrt{27} \cdot \left(\sqrt{27} \cdot \left(k \cdot j\right)\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(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\\

\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 r124500 = x;
        double r124501 = 18.0;
        double r124502 = r124500 * r124501;
        double r124503 = y;
        double r124504 = r124502 * r124503;
        double r124505 = z;
        double r124506 = r124504 * r124505;
        double r124507 = t;
        double r124508 = r124506 * r124507;
        double r124509 = a;
        double r124510 = 4.0;
        double r124511 = r124509 * r124510;
        double r124512 = r124511 * r124507;
        double r124513 = r124508 - r124512;
        double r124514 = b;
        double r124515 = c;
        double r124516 = r124514 * r124515;
        double r124517 = r124513 + r124516;
        double r124518 = r124500 * r124510;
        double r124519 = i;
        double r124520 = r124518 * r124519;
        double r124521 = r124517 - r124520;
        double r124522 = j;
        double r124523 = 27.0;
        double r124524 = r124522 * r124523;
        double r124525 = k;
        double r124526 = r124524 * r124525;
        double r124527 = r124521 - r124526;
        return r124527;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r124528 = t;
        double r124529 = -7.467666342330363e+56;
        bool r124530 = r124528 <= r124529;
        double r124531 = x;
        double r124532 = 18.0;
        double r124533 = r124531 * r124532;
        double r124534 = y;
        double r124535 = r124533 * r124534;
        double r124536 = z;
        double r124537 = r124535 * r124536;
        double r124538 = r124537 * r124528;
        double r124539 = a;
        double r124540 = 4.0;
        double r124541 = r124539 * r124540;
        double r124542 = r124541 * r124528;
        double r124543 = r124538 - r124542;
        double r124544 = b;
        double r124545 = c;
        double r124546 = r124544 * r124545;
        double r124547 = r124543 + r124546;
        double r124548 = r124531 * r124540;
        double r124549 = i;
        double r124550 = r124548 * r124549;
        double r124551 = r124547 - r124550;
        double r124552 = 27.0;
        double r124553 = sqrt(r124552);
        double r124554 = k;
        double r124555 = j;
        double r124556 = r124554 * r124555;
        double r124557 = r124553 * r124556;
        double r124558 = r124553 * r124557;
        double r124559 = r124551 - r124558;
        double r124560 = 1.0362792609368653e+45;
        bool r124561 = r124528 <= r124560;
        double r124562 = r124536 * r124528;
        double r124563 = r124535 * r124562;
        double r124564 = r124563 - r124542;
        double r124565 = r124564 + r124546;
        double r124566 = r124565 - r124550;
        double r124567 = r124552 * r124556;
        double r124568 = r124566 - r124567;
        double r124569 = r124536 * r124534;
        double r124570 = r124531 * r124569;
        double r124571 = r124528 * r124570;
        double r124572 = r124532 * r124571;
        double r124573 = r124572 - r124542;
        double r124574 = r124573 + r124546;
        double r124575 = r124574 - r124550;
        double r124576 = r124555 * r124552;
        double r124577 = r124576 * r124554;
        double r124578 = r124575 - r124577;
        double r124579 = r124561 ? r124568 : r124578;
        double r124580 = r124530 ? r124559 : r124579;
        return r124580;
}

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 < -7.467666342330363e+56

    1. Initial program 1.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. Using strategy rm
    3. Applied associate-*l*1.4

      \[\leadsto \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) - \color{blue}{j \cdot \left(27 \cdot k\right)}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity1.4

      \[\leadsto \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) - \color{blue}{\left(1 \cdot j\right)} \cdot \left(27 \cdot k\right)\]
    6. Applied associate-*l*1.4

      \[\leadsto \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) - \color{blue}{1 \cdot \left(j \cdot \left(27 \cdot k\right)\right)}\]
    7. Simplified1.3

      \[\leadsto \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) - 1 \cdot \color{blue}{\left(27 \cdot \left(k \cdot j\right)\right)}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt1.3

      \[\leadsto \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) - 1 \cdot \left(\color{blue}{\left(\sqrt{27} \cdot \sqrt{27}\right)} \cdot \left(k \cdot j\right)\right)\]
    10. Applied associate-*l*1.3

      \[\leadsto \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) - 1 \cdot \color{blue}{\left(\sqrt{27} \cdot \left(\sqrt{27} \cdot \left(k \cdot j\right)\right)\right)}\]

    if -7.467666342330363e+56 < t < 1.0362792609368653e+45

    1. Initial program 7.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 associate-*l*7.2

      \[\leadsto \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) - \color{blue}{j \cdot \left(27 \cdot k\right)}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity7.2

      \[\leadsto \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) - \color{blue}{\left(1 \cdot j\right)} \cdot \left(27 \cdot k\right)\]
    6. Applied associate-*l*7.2

      \[\leadsto \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) - \color{blue}{1 \cdot \left(j \cdot \left(27 \cdot k\right)\right)}\]
    7. Simplified7.1

      \[\leadsto \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) - 1 \cdot \color{blue}{\left(27 \cdot \left(k \cdot j\right)\right)}\]
    8. Using strategy rm
    9. Applied associate-*l*4.3

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

    if 1.0362792609368653e+45 < t

    1. Initial program 1.8

      \[\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 1.9

      \[\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. Recombined 3 regimes into one program.
  4. Final simplification3.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -7.467666342330362837578212211978847188411 \cdot 10^{56}:\\ \;\;\;\;\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) - \sqrt{27} \cdot \left(\sqrt{27} \cdot \left(k \cdot j\right)\right)\\ \mathbf{elif}\;t \le 1.03627926093686525716420392912551359763 \cdot 10^{45}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(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\\ \end{array}\]

Reproduce

herbie shell --seed 2019303 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1"
  :precision binary64
  (- (- (+ (- (* (* (* (* x 18) y) z) t) (* (* a 4) t)) (* b c)) (* (* x 4) i)) (* (* j 27) k)))