Average Error: 5.0 → 4.1
Time: 27.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}\;t \le -5.442676120004847 \cdot 10^{-262}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(18.0 \cdot t\right) \cdot \left(\left(y \cdot z\right) \cdot x\right) - 4.0 \cdot \left(a \cdot t\right)\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \mathbf{elif}\;t \le 7.540536889545399 \cdot 10^{-05}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(t \cdot z\right) \cdot \left(\left(18.0 \cdot x\right) \cdot y\right) - \left(4.0 \cdot a\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(j \cdot 27.0\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(18.0 \cdot t\right) \cdot \left(\left(y \cdot z\right) \cdot x\right) - 4.0 \cdot \left(a \cdot t\right)\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \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}\;t \le -5.442676120004847 \cdot 10^{-262}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(18.0 \cdot t\right) \cdot \left(\left(y \cdot z\right) \cdot x\right) - 4.0 \cdot \left(a \cdot t\right)\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(18.0 \cdot t\right) \cdot \left(\left(y \cdot z\right) \cdot x\right) - 4.0 \cdot \left(a \cdot t\right)\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \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 r2027100 = x;
        double r2027101 = 18.0;
        double r2027102 = r2027100 * r2027101;
        double r2027103 = y;
        double r2027104 = r2027102 * r2027103;
        double r2027105 = z;
        double r2027106 = r2027104 * r2027105;
        double r2027107 = t;
        double r2027108 = r2027106 * r2027107;
        double r2027109 = a;
        double r2027110 = 4.0;
        double r2027111 = r2027109 * r2027110;
        double r2027112 = r2027111 * r2027107;
        double r2027113 = r2027108 - r2027112;
        double r2027114 = b;
        double r2027115 = c;
        double r2027116 = r2027114 * r2027115;
        double r2027117 = r2027113 + r2027116;
        double r2027118 = r2027100 * r2027110;
        double r2027119 = i;
        double r2027120 = r2027118 * r2027119;
        double r2027121 = r2027117 - r2027120;
        double r2027122 = j;
        double r2027123 = 27.0;
        double r2027124 = r2027122 * r2027123;
        double r2027125 = k;
        double r2027126 = r2027124 * r2027125;
        double r2027127 = r2027121 - r2027126;
        return r2027127;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r2027128 = t;
        double r2027129 = -5.442676120004847e-262;
        bool r2027130 = r2027128 <= r2027129;
        double r2027131 = b;
        double r2027132 = c;
        double r2027133 = r2027131 * r2027132;
        double r2027134 = 18.0;
        double r2027135 = r2027134 * r2027128;
        double r2027136 = y;
        double r2027137 = z;
        double r2027138 = r2027136 * r2027137;
        double r2027139 = x;
        double r2027140 = r2027138 * r2027139;
        double r2027141 = r2027135 * r2027140;
        double r2027142 = 4.0;
        double r2027143 = a;
        double r2027144 = r2027143 * r2027128;
        double r2027145 = r2027142 * r2027144;
        double r2027146 = r2027141 - r2027145;
        double r2027147 = r2027133 + r2027146;
        double r2027148 = r2027139 * r2027142;
        double r2027149 = i;
        double r2027150 = r2027148 * r2027149;
        double r2027151 = r2027147 - r2027150;
        double r2027152 = j;
        double r2027153 = 27.0;
        double r2027154 = k;
        double r2027155 = r2027153 * r2027154;
        double r2027156 = r2027152 * r2027155;
        double r2027157 = r2027151 - r2027156;
        double r2027158 = 7.540536889545399e-05;
        bool r2027159 = r2027128 <= r2027158;
        double r2027160 = r2027128 * r2027137;
        double r2027161 = r2027134 * r2027139;
        double r2027162 = r2027161 * r2027136;
        double r2027163 = r2027160 * r2027162;
        double r2027164 = r2027142 * r2027143;
        double r2027165 = r2027164 * r2027128;
        double r2027166 = r2027163 - r2027165;
        double r2027167 = r2027133 + r2027166;
        double r2027168 = r2027167 - r2027150;
        double r2027169 = r2027152 * r2027153;
        double r2027170 = r2027154 * r2027169;
        double r2027171 = r2027168 - r2027170;
        double r2027172 = r2027159 ? r2027171 : r2027157;
        double r2027173 = r2027130 ? r2027157 : r2027172;
        return r2027173;
}

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 t < -5.442676120004847e-262 or 7.540536889545399e-05 < t

    1. Initial program 3.6

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

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

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

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

      \[\leadsto \left(\left(\left(\color{blue}{\left(18.0 \cdot t\right) \cdot \left(x \cdot \left(z \cdot y\right)\right)} - 4.0 \cdot \left(t \cdot a\right)\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\]

    if -5.442676120004847e-262 < t < 7.540536889545399e-05

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

      \[\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\]
  3. Recombined 2 regimes into one program.
  4. Final simplification4.1

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

Reproduce

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