Average Error: 5.4 → 0.7
Time: 40.5s
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(c \cdot b + \left(y \cdot \left(\left(x \cdot 18.0\right) \cdot \left(t \cdot z\right)\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{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 4.188469176061795 \cdot 10^{+306}:\\ \;\;\;\;\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) - \left(k \cdot 27.0\right) \cdot j\\ \mathbf{else}:\\ \;\;\;\;\left(\left(c \cdot b + \left(y \cdot \left(\left(x \cdot 18.0\right) \cdot \left(t \cdot z\right)\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)\\ \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(c \cdot b + \left(y \cdot \left(\left(x \cdot 18.0\right) \cdot \left(t \cdot z\right)\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{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 4.188469176061795 \cdot 10^{+306}:\\
\;\;\;\;\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) - \left(k \cdot 27.0\right) \cdot j\\

\mathbf{else}:\\
\;\;\;\;\left(\left(c \cdot b + \left(y \cdot \left(\left(x \cdot 18.0\right) \cdot \left(t \cdot z\right)\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)\\

\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 r6865818 = x;
        double r6865819 = 18.0;
        double r6865820 = r6865818 * r6865819;
        double r6865821 = y;
        double r6865822 = r6865820 * r6865821;
        double r6865823 = z;
        double r6865824 = r6865822 * r6865823;
        double r6865825 = t;
        double r6865826 = r6865824 * r6865825;
        double r6865827 = a;
        double r6865828 = 4.0;
        double r6865829 = r6865827 * r6865828;
        double r6865830 = r6865829 * r6865825;
        double r6865831 = r6865826 - r6865830;
        double r6865832 = b;
        double r6865833 = c;
        double r6865834 = r6865832 * r6865833;
        double r6865835 = r6865831 + r6865834;
        double r6865836 = r6865818 * r6865828;
        double r6865837 = i;
        double r6865838 = r6865836 * r6865837;
        double r6865839 = r6865835 - r6865838;
        double r6865840 = j;
        double r6865841 = 27.0;
        double r6865842 = r6865840 * r6865841;
        double r6865843 = k;
        double r6865844 = r6865842 * r6865843;
        double r6865845 = r6865839 - r6865844;
        return r6865845;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r6865846 = t;
        double r6865847 = x;
        double r6865848 = 18.0;
        double r6865849 = r6865847 * r6865848;
        double r6865850 = y;
        double r6865851 = r6865849 * r6865850;
        double r6865852 = z;
        double r6865853 = r6865851 * r6865852;
        double r6865854 = r6865846 * r6865853;
        double r6865855 = a;
        double r6865856 = 4.0;
        double r6865857 = r6865855 * r6865856;
        double r6865858 = r6865857 * r6865846;
        double r6865859 = r6865854 - r6865858;
        double r6865860 = c;
        double r6865861 = b;
        double r6865862 = r6865860 * r6865861;
        double r6865863 = r6865859 + r6865862;
        double r6865864 = r6865847 * r6865856;
        double r6865865 = i;
        double r6865866 = r6865864 * r6865865;
        double r6865867 = r6865863 - r6865866;
        double r6865868 = -inf.0;
        bool r6865869 = r6865867 <= r6865868;
        double r6865870 = r6865846 * r6865852;
        double r6865871 = r6865849 * r6865870;
        double r6865872 = r6865850 * r6865871;
        double r6865873 = r6865872 - r6865858;
        double r6865874 = r6865862 + r6865873;
        double r6865875 = r6865874 - r6865866;
        double r6865876 = 27.0;
        double r6865877 = j;
        double r6865878 = k;
        double r6865879 = r6865877 * r6865878;
        double r6865880 = r6865876 * r6865879;
        double r6865881 = r6865875 - r6865880;
        double r6865882 = 4.188469176061795e+306;
        bool r6865883 = r6865867 <= r6865882;
        double r6865884 = r6865878 * r6865876;
        double r6865885 = r6865884 * r6865877;
        double r6865886 = r6865867 - r6865885;
        double r6865887 = r6865883 ? r6865886 : r6865881;
        double r6865888 = r6865869 ? r6865881 : r6865887;
        return r6865888;
}

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 2 regimes
  2. if (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0 or 4.188469176061795e+306 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i))

    1. Initial program 59.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. Taylor expanded around -inf 59.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-identity59.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*59.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. Simplified38.1

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

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

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

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

    1. Initial program 0.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. Using strategy rm
    3. Applied associate-*l*0.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)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.7

    \[\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(c \cdot b + \left(y \cdot \left(\left(x \cdot 18.0\right) \cdot \left(t \cdot z\right)\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{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 4.188469176061795 \cdot 10^{+306}:\\ \;\;\;\;\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) - \left(k \cdot 27.0\right) \cdot j\\ \mathbf{else}:\\ \;\;\;\;\left(\left(c \cdot b + \left(y \cdot \left(\left(x \cdot 18.0\right) \cdot \left(t \cdot z\right)\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)\\ \end{array}\]

Reproduce

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