Average Error: 5.0 → 3.3
Time: 36.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}\;t \le -1.6256524451602692 \cdot 10^{-91}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot y\right) \cdot \left(z \cdot x\right)\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{elif}\;t \le 5.012943603524719 \cdot 10^{-231}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(27.0 \cdot j\right) \cdot k\\ \mathbf{elif}\;t \le 1.34525072347895 \cdot 10^{-60}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(t \cdot \left(18.0 \cdot y\right)\right) \cdot \left(z \cdot x\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(t \cdot \left(z \cdot \left(\left(18.0 \cdot x\right) \cdot y\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(27.0 \cdot k\right) \cdot j\\ \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 -1.6256524451602692 \cdot 10^{-91}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot y\right) \cdot \left(z \cdot x\right)\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\

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

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

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

\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 r5566758 = x;
        double r5566759 = 18.0;
        double r5566760 = r5566758 * r5566759;
        double r5566761 = y;
        double r5566762 = r5566760 * r5566761;
        double r5566763 = z;
        double r5566764 = r5566762 * r5566763;
        double r5566765 = t;
        double r5566766 = r5566764 * r5566765;
        double r5566767 = a;
        double r5566768 = 4.0;
        double r5566769 = r5566767 * r5566768;
        double r5566770 = r5566769 * r5566765;
        double r5566771 = r5566766 - r5566770;
        double r5566772 = b;
        double r5566773 = c;
        double r5566774 = r5566772 * r5566773;
        double r5566775 = r5566771 + r5566774;
        double r5566776 = r5566758 * r5566768;
        double r5566777 = i;
        double r5566778 = r5566776 * r5566777;
        double r5566779 = r5566775 - r5566778;
        double r5566780 = j;
        double r5566781 = 27.0;
        double r5566782 = r5566780 * r5566781;
        double r5566783 = k;
        double r5566784 = r5566782 * r5566783;
        double r5566785 = r5566779 - r5566784;
        return r5566785;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r5566786 = t;
        double r5566787 = -1.6256524451602692e-91;
        bool r5566788 = r5566786 <= r5566787;
        double r5566789 = b;
        double r5566790 = c;
        double r5566791 = r5566789 * r5566790;
        double r5566792 = 18.0;
        double r5566793 = y;
        double r5566794 = r5566792 * r5566793;
        double r5566795 = z;
        double r5566796 = x;
        double r5566797 = r5566795 * r5566796;
        double r5566798 = r5566794 * r5566797;
        double r5566799 = r5566798 * r5566786;
        double r5566800 = a;
        double r5566801 = 4.0;
        double r5566802 = r5566800 * r5566801;
        double r5566803 = r5566802 * r5566786;
        double r5566804 = r5566799 - r5566803;
        double r5566805 = r5566791 + r5566804;
        double r5566806 = r5566796 * r5566801;
        double r5566807 = i;
        double r5566808 = r5566806 * r5566807;
        double r5566809 = r5566805 - r5566808;
        double r5566810 = 27.0;
        double r5566811 = j;
        double r5566812 = k;
        double r5566813 = r5566811 * r5566812;
        double r5566814 = r5566810 * r5566813;
        double r5566815 = r5566809 - r5566814;
        double r5566816 = 5.012943603524719e-231;
        bool r5566817 = r5566786 <= r5566816;
        double r5566818 = r5566795 * r5566786;
        double r5566819 = r5566792 * r5566796;
        double r5566820 = r5566819 * r5566793;
        double r5566821 = r5566818 * r5566820;
        double r5566822 = r5566821 - r5566803;
        double r5566823 = r5566791 + r5566822;
        double r5566824 = r5566823 - r5566808;
        double r5566825 = r5566810 * r5566811;
        double r5566826 = r5566825 * r5566812;
        double r5566827 = r5566824 - r5566826;
        double r5566828 = 1.34525072347895e-60;
        bool r5566829 = r5566786 <= r5566828;
        double r5566830 = r5566786 * r5566794;
        double r5566831 = r5566830 * r5566797;
        double r5566832 = r5566831 - r5566803;
        double r5566833 = r5566791 + r5566832;
        double r5566834 = r5566833 - r5566808;
        double r5566835 = r5566834 - r5566814;
        double r5566836 = r5566795 * r5566820;
        double r5566837 = r5566786 * r5566836;
        double r5566838 = r5566837 - r5566803;
        double r5566839 = r5566791 + r5566838;
        double r5566840 = r5566839 - r5566808;
        double r5566841 = r5566810 * r5566812;
        double r5566842 = r5566841 * r5566811;
        double r5566843 = r5566840 - r5566842;
        double r5566844 = r5566829 ? r5566835 : r5566843;
        double r5566845 = r5566817 ? r5566827 : r5566844;
        double r5566846 = r5566788 ? r5566815 : r5566845;
        return r5566846;
}

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 4 regimes
  2. if t < -1.6256524451602692e-91

    1. Initial program 2.2

      \[\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 inf 2.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}{27.0 \cdot \left(j \cdot k\right)}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity2.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) - 27.0 \cdot \left(j \cdot k\right)\]
    5. Applied associate-*r*2.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) - 27.0 \cdot \left(j \cdot k\right)\]
    6. Simplified2.9

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

    if -1.6256524451602692e-91 < t < 5.012943603524719e-231

    1. Initial program 8.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*4.4

      \[\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) - \left(j \cdot 27.0\right) \cdot k\]

    if 5.012943603524719e-231 < t < 1.34525072347895e-60

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

      \[\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 *-un-lft-identity7.2

      \[\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) - 27.0 \cdot \left(j \cdot k\right)\]
    5. Applied associate-*r*7.2

      \[\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) - 27.0 \cdot \left(j \cdot k\right)\]
    6. Simplified6.8

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(z \cdot x\right) \cdot \left(y \cdot 18.0\right)\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) - 27.0 \cdot \left(j \cdot k\right)\]
    7. Using strategy rm
    8. Applied associate-*l*3.6

      \[\leadsto \left(\left(\left(\color{blue}{\left(z \cdot x\right) \cdot \left(\left(y \cdot 18.0\right) \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 1.34525072347895e-60 < t

    1. Initial program 2.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*2.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)}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification3.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -1.6256524451602692 \cdot 10^{-91}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot y\right) \cdot \left(z \cdot x\right)\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{elif}\;t \le 5.012943603524719 \cdot 10^{-231}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(z \cdot t\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(27.0 \cdot j\right) \cdot k\\ \mathbf{elif}\;t \le 1.34525072347895 \cdot 10^{-60}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(t \cdot \left(18.0 \cdot y\right)\right) \cdot \left(z \cdot x\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(t \cdot \left(z \cdot \left(\left(18.0 \cdot x\right) \cdot y\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(27.0 \cdot k\right) \cdot j\\ \end{array}\]

Reproduce

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