\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}\;a \le 7.91318384003172 \cdot 10^{-192}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(\sqrt[3]{\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - a \cdot y5\right)} \cdot \sqrt[3]{\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - a \cdot y5\right)}\right) \cdot \sqrt[3]{\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - a \cdot y5\right)}\right)\\
\mathbf{elif}\;a \le 8.547560793646703 \cdot 10^{+34}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(\left(\left(k \cdot y5\right) \cdot y\right) \cdot i - \left(t \cdot \left(i \cdot \left(j \cdot y5\right)\right) + \left(y \cdot \left(y4 \cdot b\right)\right) \cdot k\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - a \cdot y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(j \cdot t - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right) + \left(\left(a \cdot \left(\left(z \cdot y1\right) \cdot y3 - \left(y1 \cdot x\right) \cdot y2\right) - \left(c \cdot \left(z \cdot y3\right)\right) \cdot y0\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \sqrt[3]{b \cdot y0 - i \cdot y1} \cdot \left(\left(\sqrt[3]{b \cdot y0 - i \cdot y1} \cdot \sqrt[3]{b \cdot y0 - i \cdot y1}\right) \cdot \left(x \cdot j - z \cdot k\right)\right)\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - a \cdot y5\right)\right) + \left(y2 \cdot k - 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 r5135016 = x;
double r5135017 = y;
double r5135018 = r5135016 * r5135017;
double r5135019 = z;
double r5135020 = t;
double r5135021 = r5135019 * r5135020;
double r5135022 = r5135018 - r5135021;
double r5135023 = a;
double r5135024 = b;
double r5135025 = r5135023 * r5135024;
double r5135026 = c;
double r5135027 = i;
double r5135028 = r5135026 * r5135027;
double r5135029 = r5135025 - r5135028;
double r5135030 = r5135022 * r5135029;
double r5135031 = j;
double r5135032 = r5135016 * r5135031;
double r5135033 = k;
double r5135034 = r5135019 * r5135033;
double r5135035 = r5135032 - r5135034;
double r5135036 = y0;
double r5135037 = r5135036 * r5135024;
double r5135038 = y1;
double r5135039 = r5135038 * r5135027;
double r5135040 = r5135037 - r5135039;
double r5135041 = r5135035 * r5135040;
double r5135042 = r5135030 - r5135041;
double r5135043 = y2;
double r5135044 = r5135016 * r5135043;
double r5135045 = y3;
double r5135046 = r5135019 * r5135045;
double r5135047 = r5135044 - r5135046;
double r5135048 = r5135036 * r5135026;
double r5135049 = r5135038 * r5135023;
double r5135050 = r5135048 - r5135049;
double r5135051 = r5135047 * r5135050;
double r5135052 = r5135042 + r5135051;
double r5135053 = r5135020 * r5135031;
double r5135054 = r5135017 * r5135033;
double r5135055 = r5135053 - r5135054;
double r5135056 = y4;
double r5135057 = r5135056 * r5135024;
double r5135058 = y5;
double r5135059 = r5135058 * r5135027;
double r5135060 = r5135057 - r5135059;
double r5135061 = r5135055 * r5135060;
double r5135062 = r5135052 + r5135061;
double r5135063 = r5135020 * r5135043;
double r5135064 = r5135017 * r5135045;
double r5135065 = r5135063 - r5135064;
double r5135066 = r5135056 * r5135026;
double r5135067 = r5135058 * r5135023;
double r5135068 = r5135066 - r5135067;
double r5135069 = r5135065 * r5135068;
double r5135070 = r5135062 - r5135069;
double r5135071 = r5135033 * r5135043;
double r5135072 = r5135031 * r5135045;
double r5135073 = r5135071 - r5135072;
double r5135074 = r5135056 * r5135038;
double r5135075 = r5135058 * r5135036;
double r5135076 = r5135074 - r5135075;
double r5135077 = r5135073 * r5135076;
double r5135078 = r5135070 + r5135077;
return r5135078;
}
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 r5135079 = a;
double r5135080 = 7.91318384003172e-192;
bool r5135081 = r5135079 <= r5135080;
double r5135082 = y2;
double r5135083 = k;
double r5135084 = r5135082 * r5135083;
double r5135085 = j;
double r5135086 = y3;
double r5135087 = r5135085 * r5135086;
double r5135088 = r5135084 - r5135087;
double r5135089 = y4;
double r5135090 = y1;
double r5135091 = r5135089 * r5135090;
double r5135092 = y5;
double r5135093 = y0;
double r5135094 = r5135092 * r5135093;
double r5135095 = r5135091 - r5135094;
double r5135096 = r5135088 * r5135095;
double r5135097 = c;
double r5135098 = r5135097 * r5135093;
double r5135099 = r5135079 * r5135090;
double r5135100 = r5135098 - r5135099;
double r5135101 = x;
double r5135102 = r5135101 * r5135082;
double r5135103 = z;
double r5135104 = r5135103 * r5135086;
double r5135105 = r5135102 - r5135104;
double r5135106 = r5135100 * r5135105;
double r5135107 = y;
double r5135108 = r5135101 * r5135107;
double r5135109 = t;
double r5135110 = r5135109 * r5135103;
double r5135111 = r5135108 - r5135110;
double r5135112 = b;
double r5135113 = r5135079 * r5135112;
double r5135114 = i;
double r5135115 = r5135114 * r5135097;
double r5135116 = r5135113 - r5135115;
double r5135117 = r5135111 * r5135116;
double r5135118 = r5135101 * r5135085;
double r5135119 = r5135103 * r5135083;
double r5135120 = r5135118 - r5135119;
double r5135121 = r5135112 * r5135093;
double r5135122 = r5135114 * r5135090;
double r5135123 = r5135121 - r5135122;
double r5135124 = r5135120 * r5135123;
double r5135125 = r5135117 - r5135124;
double r5135126 = r5135106 + r5135125;
double r5135127 = r5135085 * r5135109;
double r5135128 = r5135107 * r5135083;
double r5135129 = r5135127 - r5135128;
double r5135130 = r5135089 * r5135112;
double r5135131 = r5135114 * r5135092;
double r5135132 = r5135130 - r5135131;
double r5135133 = r5135129 * r5135132;
double r5135134 = r5135126 + r5135133;
double r5135135 = r5135109 * r5135082;
double r5135136 = r5135107 * r5135086;
double r5135137 = r5135135 - r5135136;
double r5135138 = r5135089 * r5135097;
double r5135139 = r5135079 * r5135092;
double r5135140 = r5135138 - r5135139;
double r5135141 = r5135137 * r5135140;
double r5135142 = cbrt(r5135141);
double r5135143 = r5135142 * r5135142;
double r5135144 = r5135143 * r5135142;
double r5135145 = r5135134 - r5135144;
double r5135146 = r5135096 + r5135145;
double r5135147 = 8.547560793646703e+34;
bool r5135148 = r5135079 <= r5135147;
double r5135149 = r5135083 * r5135092;
double r5135150 = r5135149 * r5135107;
double r5135151 = r5135150 * r5135114;
double r5135152 = r5135085 * r5135092;
double r5135153 = r5135114 * r5135152;
double r5135154 = r5135109 * r5135153;
double r5135155 = r5135107 * r5135130;
double r5135156 = r5135155 * r5135083;
double r5135157 = r5135154 + r5135156;
double r5135158 = r5135151 - r5135157;
double r5135159 = r5135126 + r5135158;
double r5135160 = r5135159 - r5135141;
double r5135161 = r5135096 + r5135160;
double r5135162 = r5135103 * r5135090;
double r5135163 = r5135162 * r5135086;
double r5135164 = r5135090 * r5135101;
double r5135165 = r5135164 * r5135082;
double r5135166 = r5135163 - r5135165;
double r5135167 = r5135079 * r5135166;
double r5135168 = r5135097 * r5135104;
double r5135169 = r5135168 * r5135093;
double r5135170 = r5135167 - r5135169;
double r5135171 = cbrt(r5135123);
double r5135172 = r5135171 * r5135171;
double r5135173 = r5135172 * r5135120;
double r5135174 = r5135171 * r5135173;
double r5135175 = r5135117 - r5135174;
double r5135176 = r5135170 + r5135175;
double r5135177 = r5135133 + r5135176;
double r5135178 = r5135177 - r5135141;
double r5135179 = r5135178 + r5135096;
double r5135180 = r5135148 ? r5135161 : r5135179;
double r5135181 = r5135081 ? r5135146 : r5135180;
return r5135181;
}



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
Results
if a < 7.91318384003172e-192Initial program 26.0
rmApplied add-cube-cbrt26.0
if 7.91318384003172e-192 < a < 8.547560793646703e+34Initial program 26.0
Taylor expanded around inf 28.8
if 8.547560793646703e+34 < a Initial program 28.3
rmApplied add-cube-cbrt28.4
Applied associate-*r*28.4
Taylor expanded around inf 27.0
Simplified26.9
Final simplification26.8
herbie shell --seed 2019164
(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"
(+ (- (+ (+ (- (* (- (* 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)))))