Average Error: 5.6 → 3.6
Time: 32.9s
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) - j \cdot \left(27 \cdot k\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) - j \cdot \left(27 \cdot k\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 r102879 = x;
        double r102880 = 18.0;
        double r102881 = r102879 * r102880;
        double r102882 = y;
        double r102883 = r102881 * r102882;
        double r102884 = z;
        double r102885 = r102883 * r102884;
        double r102886 = t;
        double r102887 = r102885 * r102886;
        double r102888 = a;
        double r102889 = 4.0;
        double r102890 = r102888 * r102889;
        double r102891 = r102890 * r102886;
        double r102892 = r102887 - r102891;
        double r102893 = b;
        double r102894 = c;
        double r102895 = r102893 * r102894;
        double r102896 = r102892 + r102895;
        double r102897 = r102879 * r102889;
        double r102898 = i;
        double r102899 = r102897 * r102898;
        double r102900 = r102896 - r102899;
        double r102901 = j;
        double r102902 = 27.0;
        double r102903 = r102901 * r102902;
        double r102904 = k;
        double r102905 = r102903 * r102904;
        double r102906 = r102900 - r102905;
        return r102906;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r102907 = t;
        double r102908 = -7.467666342330363e+56;
        bool r102909 = r102907 <= r102908;
        double r102910 = x;
        double r102911 = 18.0;
        double r102912 = r102910 * r102911;
        double r102913 = y;
        double r102914 = r102912 * r102913;
        double r102915 = z;
        double r102916 = r102914 * r102915;
        double r102917 = r102916 * r102907;
        double r102918 = a;
        double r102919 = 4.0;
        double r102920 = r102918 * r102919;
        double r102921 = r102920 * r102907;
        double r102922 = r102917 - r102921;
        double r102923 = b;
        double r102924 = c;
        double r102925 = r102923 * r102924;
        double r102926 = r102922 + r102925;
        double r102927 = r102910 * r102919;
        double r102928 = i;
        double r102929 = r102927 * r102928;
        double r102930 = r102926 - r102929;
        double r102931 = j;
        double r102932 = 27.0;
        double r102933 = k;
        double r102934 = r102932 * r102933;
        double r102935 = r102931 * r102934;
        double r102936 = r102930 - r102935;
        double r102937 = 1.0362792609368653e+45;
        bool r102938 = r102907 <= r102937;
        double r102939 = r102915 * r102907;
        double r102940 = r102914 * r102939;
        double r102941 = r102940 - r102921;
        double r102942 = r102941 + r102925;
        double r102943 = r102942 - r102929;
        double r102944 = r102933 * r102931;
        double r102945 = r102932 * r102944;
        double r102946 = r102943 - r102945;
        double r102947 = r102915 * r102913;
        double r102948 = r102910 * r102947;
        double r102949 = r102907 * r102948;
        double r102950 = r102911 * r102949;
        double r102951 = r102950 - r102921;
        double r102952 = r102951 + r102925;
        double r102953 = r102952 - r102929;
        double r102954 = r102931 * r102932;
        double r102955 = r102954 * r102933;
        double r102956 = r102953 - r102955;
        double r102957 = r102938 ? r102946 : r102956;
        double r102958 = r102909 ? r102936 : r102957;
        return r102958;
}

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

    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. Taylor expanded around 0 7.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) - \color{blue}{27 \cdot \left(k \cdot j\right)}\]
    5. Using strategy rm
    6. 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) - 27 \cdot \left(k \cdot j\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) - j \cdot \left(27 \cdot k\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)))