Average Error: 26.8 → 28.5
Time: 1.5m
Precision: 64
\[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
\[\begin{array}{l} \mathbf{if}\;c \le -5.744610348354865669869600739404214007067 \cdot 10^{-8}:\\ \;\;\;\;\left(\left(\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right) + \left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \mathbf{elif}\;c \le -4.598398760308297816913673199030523031831 \cdot 10^{-305}:\\ \;\;\;\;\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) + \left(\left(-\left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \sqrt[3]{x \cdot y - z \cdot t}\right) \cdot \left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \left(a \cdot b - c \cdot i\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \end{array}\]
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\begin{array}{l}
\mathbf{if}\;c \le -5.744610348354865669869600739404214007067 \cdot 10^{-8}:\\
\;\;\;\;\left(\left(\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right) + \left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\

\mathbf{elif}\;c \le -4.598398760308297816913673199030523031831 \cdot 10^{-305}:\\
\;\;\;\;\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) + \left(\left(-\left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \sqrt[3]{x \cdot y - z \cdot t}\right) \cdot \left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \left(a \cdot b - c \cdot i\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\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 y0, double y1, double y2, double y3, double y4, double y5) {
        double r141050 = x;
        double r141051 = y;
        double r141052 = r141050 * r141051;
        double r141053 = z;
        double r141054 = t;
        double r141055 = r141053 * r141054;
        double r141056 = r141052 - r141055;
        double r141057 = a;
        double r141058 = b;
        double r141059 = r141057 * r141058;
        double r141060 = c;
        double r141061 = i;
        double r141062 = r141060 * r141061;
        double r141063 = r141059 - r141062;
        double r141064 = r141056 * r141063;
        double r141065 = j;
        double r141066 = r141050 * r141065;
        double r141067 = k;
        double r141068 = r141053 * r141067;
        double r141069 = r141066 - r141068;
        double r141070 = y0;
        double r141071 = r141070 * r141058;
        double r141072 = y1;
        double r141073 = r141072 * r141061;
        double r141074 = r141071 - r141073;
        double r141075 = r141069 * r141074;
        double r141076 = r141064 - r141075;
        double r141077 = y2;
        double r141078 = r141050 * r141077;
        double r141079 = y3;
        double r141080 = r141053 * r141079;
        double r141081 = r141078 - r141080;
        double r141082 = r141070 * r141060;
        double r141083 = r141072 * r141057;
        double r141084 = r141082 - r141083;
        double r141085 = r141081 * r141084;
        double r141086 = r141076 + r141085;
        double r141087 = r141054 * r141065;
        double r141088 = r141051 * r141067;
        double r141089 = r141087 - r141088;
        double r141090 = y4;
        double r141091 = r141090 * r141058;
        double r141092 = y5;
        double r141093 = r141092 * r141061;
        double r141094 = r141091 - r141093;
        double r141095 = r141089 * r141094;
        double r141096 = r141086 + r141095;
        double r141097 = r141054 * r141077;
        double r141098 = r141051 * r141079;
        double r141099 = r141097 - r141098;
        double r141100 = r141090 * r141060;
        double r141101 = r141092 * r141057;
        double r141102 = r141100 - r141101;
        double r141103 = r141099 * r141102;
        double r141104 = r141096 - r141103;
        double r141105 = r141067 * r141077;
        double r141106 = r141065 * r141079;
        double r141107 = r141105 - r141106;
        double r141108 = r141090 * r141072;
        double r141109 = r141092 * r141070;
        double r141110 = r141108 - r141109;
        double r141111 = r141107 * r141110;
        double r141112 = r141104 + r141111;
        return r141112;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
        double r141113 = c;
        double r141114 = -5.744610348354866e-08;
        bool r141115 = r141113 <= r141114;
        double r141116 = t;
        double r141117 = j;
        double r141118 = r141116 * r141117;
        double r141119 = y;
        double r141120 = k;
        double r141121 = r141119 * r141120;
        double r141122 = r141118 - r141121;
        double r141123 = y4;
        double r141124 = b;
        double r141125 = r141123 * r141124;
        double r141126 = y5;
        double r141127 = i;
        double r141128 = r141126 * r141127;
        double r141129 = r141125 - r141128;
        double r141130 = r141122 * r141129;
        double r141131 = x;
        double r141132 = y2;
        double r141133 = r141131 * r141132;
        double r141134 = z;
        double r141135 = y3;
        double r141136 = r141134 * r141135;
        double r141137 = r141133 - r141136;
        double r141138 = y0;
        double r141139 = r141138 * r141113;
        double r141140 = y1;
        double r141141 = a;
        double r141142 = r141140 * r141141;
        double r141143 = r141139 - r141142;
        double r141144 = r141137 * r141143;
        double r141145 = r141141 * r141124;
        double r141146 = r141113 * r141127;
        double r141147 = r141145 - r141146;
        double r141148 = r141131 * r141119;
        double r141149 = r141134 * r141116;
        double r141150 = r141148 - r141149;
        double r141151 = r141147 * r141150;
        double r141152 = r141144 + r141151;
        double r141153 = r141130 + r141152;
        double r141154 = r141116 * r141132;
        double r141155 = r141119 * r141135;
        double r141156 = r141154 - r141155;
        double r141157 = r141123 * r141113;
        double r141158 = r141126 * r141141;
        double r141159 = r141157 - r141158;
        double r141160 = r141156 * r141159;
        double r141161 = r141153 - r141160;
        double r141162 = r141120 * r141132;
        double r141163 = r141117 * r141135;
        double r141164 = r141162 - r141163;
        double r141165 = r141123 * r141140;
        double r141166 = r141126 * r141138;
        double r141167 = r141165 - r141166;
        double r141168 = r141164 * r141167;
        double r141169 = r141161 + r141168;
        double r141170 = -4.598398760308298e-305;
        bool r141171 = r141113 <= r141170;
        double r141172 = r141131 * r141117;
        double r141173 = r141134 * r141120;
        double r141174 = r141172 - r141173;
        double r141175 = r141138 * r141124;
        double r141176 = r141140 * r141127;
        double r141177 = r141175 - r141176;
        double r141178 = r141174 * r141177;
        double r141179 = -r141178;
        double r141180 = r141179 + r141144;
        double r141181 = r141130 + r141180;
        double r141182 = r141181 - r141160;
        double r141183 = r141168 + r141182;
        double r141184 = cbrt(r141150);
        double r141185 = r141184 * r141184;
        double r141186 = r141184 * r141147;
        double r141187 = r141185 * r141186;
        double r141188 = r141187 - r141178;
        double r141189 = r141188 + r141144;
        double r141190 = r141189 + r141130;
        double r141191 = r141190 - r141160;
        double r141192 = r141191 + r141168;
        double r141193 = r141171 ? r141183 : r141192;
        double r141194 = r141115 ? r141169 : r141193;
        return r141194;
}

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

Bits error versus y0

Bits error versus y1

Bits error versus y2

Bits error versus y3

Bits error versus y4

Bits error versus y5

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if c < -5.744610348354866e-08

    1. Initial program 29.1

      \[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    2. Taylor expanded around 0 32.1

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \color{blue}{0}\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]

    if -5.744610348354866e-08 < c < -4.598398760308298e-305

    1. Initial program 25.4

      \[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    2. Taylor expanded around 0 28.9

      \[\leadsto \left(\left(\left(\left(\color{blue}{0} - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]

    if -4.598398760308298e-305 < c

    1. Initial program 26.8

      \[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt26.8

      \[\leadsto \left(\left(\left(\left(\color{blue}{\left(\left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \sqrt[3]{x \cdot y - z \cdot t}\right) \cdot \sqrt[3]{x \cdot y - z \cdot t}\right)} \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    4. Applied associate-*l*26.9

      \[\leadsto \left(\left(\left(\left(\color{blue}{\left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \sqrt[3]{x \cdot y - z \cdot t}\right) \cdot \left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \left(a \cdot b - c \cdot i\right)\right)} - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification28.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;c \le -5.744610348354865669869600739404214007067 \cdot 10^{-8}:\\ \;\;\;\;\left(\left(\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right) + \left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \mathbf{elif}\;c \le -4.598398760308297816913673199030523031831 \cdot 10^{-305}:\\ \;\;\;\;\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) + \left(\left(-\left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \sqrt[3]{x \cdot y - z \cdot t}\right) \cdot \left(\sqrt[3]{x \cdot y - z \cdot t} \cdot \left(a \cdot b - c \cdot i\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019208 
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
  :name "Linear.Matrix:det44 from linear-1.19.1.3"
  :precision binary64
  (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))