Average Error: 5.4 → 2.9
Time: 23.7s
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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i = -\infty:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot \left(t \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{elif}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i \le 1.736218430949862 \cdot 10^{+238}:\\ \;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(18.0 \cdot \left(\left(t \cdot \left(z \cdot x\right)\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i = -\infty:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot \left(t \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(18.0 \cdot \left(\left(t \cdot \left(z \cdot x\right)\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \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 r6029632 = x;
        double r6029633 = 18.0;
        double r6029634 = r6029632 * r6029633;
        double r6029635 = y;
        double r6029636 = r6029634 * r6029635;
        double r6029637 = z;
        double r6029638 = r6029636 * r6029637;
        double r6029639 = t;
        double r6029640 = r6029638 * r6029639;
        double r6029641 = a;
        double r6029642 = 4.0;
        double r6029643 = r6029641 * r6029642;
        double r6029644 = r6029643 * r6029639;
        double r6029645 = r6029640 - r6029644;
        double r6029646 = b;
        double r6029647 = c;
        double r6029648 = r6029646 * r6029647;
        double r6029649 = r6029645 + r6029648;
        double r6029650 = r6029632 * r6029642;
        double r6029651 = i;
        double r6029652 = r6029650 * r6029651;
        double r6029653 = r6029649 - r6029652;
        double r6029654 = j;
        double r6029655 = 27.0;
        double r6029656 = r6029654 * r6029655;
        double r6029657 = k;
        double r6029658 = r6029656 * r6029657;
        double r6029659 = r6029653 - r6029658;
        return r6029659;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r6029660 = t;
        double r6029661 = x;
        double r6029662 = 18.0;
        double r6029663 = r6029661 * r6029662;
        double r6029664 = y;
        double r6029665 = r6029663 * r6029664;
        double r6029666 = z;
        double r6029667 = r6029665 * r6029666;
        double r6029668 = r6029660 * r6029667;
        double r6029669 = a;
        double r6029670 = 4.0;
        double r6029671 = r6029669 * r6029670;
        double r6029672 = r6029671 * r6029660;
        double r6029673 = r6029668 - r6029672;
        double r6029674 = c;
        double r6029675 = b;
        double r6029676 = r6029674 * r6029675;
        double r6029677 = r6029673 + r6029676;
        double r6029678 = r6029661 * r6029670;
        double r6029679 = i;
        double r6029680 = r6029678 * r6029679;
        double r6029681 = r6029677 - r6029680;
        double r6029682 = -inf.0;
        bool r6029683 = r6029681 <= r6029682;
        double r6029684 = r6029660 * r6029666;
        double r6029685 = r6029665 * r6029684;
        double r6029686 = r6029685 - r6029672;
        double r6029687 = r6029686 + r6029676;
        double r6029688 = r6029687 - r6029680;
        double r6029689 = 27.0;
        double r6029690 = j;
        double r6029691 = k;
        double r6029692 = r6029690 * r6029691;
        double r6029693 = r6029689 * r6029692;
        double r6029694 = r6029688 - r6029693;
        double r6029695 = 1.736218430949862e+238;
        bool r6029696 = r6029681 <= r6029695;
        double r6029697 = r6029689 * r6029691;
        double r6029698 = r6029690 * r6029697;
        double r6029699 = r6029681 - r6029698;
        double r6029700 = r6029666 * r6029661;
        double r6029701 = r6029660 * r6029700;
        double r6029702 = r6029701 * r6029664;
        double r6029703 = r6029662 * r6029702;
        double r6029704 = r6029703 - r6029672;
        double r6029705 = r6029704 + r6029676;
        double r6029706 = r6029705 - r6029680;
        double r6029707 = r6029706 - r6029693;
        double r6029708 = r6029696 ? r6029699 : r6029707;
        double r6029709 = r6029683 ? r6029694 : r6029708;
        return r6029709;
}

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 (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0

    1. Initial program 60.5

      \[\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. Taylor expanded around 0 60.5

      \[\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}{27.0 \cdot \left(j \cdot k\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*32.5

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot \left(z \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) - 27.0 \cdot \left(j \cdot k\right)\]

    if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 1.736218430949862e+238

    1. Initial program 0.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*0.3

      \[\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)}\]

    if 1.736218430949862e+238 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i))

    1. Initial program 18.4

      \[\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. Taylor expanded around 0 18.3

      \[\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}{27.0 \cdot \left(j \cdot k\right)}\]
    3. Taylor expanded around inf 13.4

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i = -\infty:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot \left(t \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{elif}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i \le 1.736218430949862 \cdot 10^{+238}:\\ \;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(18.0 \cdot \left(\left(t \cdot \left(z \cdot x\right)\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \end{array}\]

Reproduce

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