\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}\;z \le -8.149338197257273 \cdot 10^{+22}:\\
\;\;\;\;\left(\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(x \cdot y2 - y3 \cdot z\right) + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(x \cdot y - z \cdot t\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(\sqrt[3]{\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\right) \cdot \sqrt[3]{\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\\
\mathbf{elif}\;z \le 1.1977317398480058 \cdot 10^{-231}:\\
\;\;\;\;\left(y2 \cdot k - 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 - i \cdot y5\right) + \left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(x \cdot y2 - y3 \cdot z\right) + \left(\left(\left(i \cdot \left(c \cdot z\right)\right) \cdot t - \left(i \cdot \left(\left(y \cdot c\right) \cdot x\right) + a \cdot \left(\left(z \cdot b\right) \cdot t\right)\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\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(c \cdot y0 - a \cdot y1\right) \cdot \left(x \cdot y2 - y3 \cdot z\right) + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(x \cdot y - z \cdot t\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(y3 \cdot \left(\left(y5 \cdot y0\right) \cdot j\right) - \left(y1 \cdot \left(y3 \cdot \left(y4 \cdot j\right)\right) + k \cdot \left(y2 \cdot \left(y5 \cdot y0\right)\right)\right)\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 r4028061 = x;
double r4028062 = y;
double r4028063 = r4028061 * r4028062;
double r4028064 = z;
double r4028065 = t;
double r4028066 = r4028064 * r4028065;
double r4028067 = r4028063 - r4028066;
double r4028068 = a;
double r4028069 = b;
double r4028070 = r4028068 * r4028069;
double r4028071 = c;
double r4028072 = i;
double r4028073 = r4028071 * r4028072;
double r4028074 = r4028070 - r4028073;
double r4028075 = r4028067 * r4028074;
double r4028076 = j;
double r4028077 = r4028061 * r4028076;
double r4028078 = k;
double r4028079 = r4028064 * r4028078;
double r4028080 = r4028077 - r4028079;
double r4028081 = y0;
double r4028082 = r4028081 * r4028069;
double r4028083 = y1;
double r4028084 = r4028083 * r4028072;
double r4028085 = r4028082 - r4028084;
double r4028086 = r4028080 * r4028085;
double r4028087 = r4028075 - r4028086;
double r4028088 = y2;
double r4028089 = r4028061 * r4028088;
double r4028090 = y3;
double r4028091 = r4028064 * r4028090;
double r4028092 = r4028089 - r4028091;
double r4028093 = r4028081 * r4028071;
double r4028094 = r4028083 * r4028068;
double r4028095 = r4028093 - r4028094;
double r4028096 = r4028092 * r4028095;
double r4028097 = r4028087 + r4028096;
double r4028098 = r4028065 * r4028076;
double r4028099 = r4028062 * r4028078;
double r4028100 = r4028098 - r4028099;
double r4028101 = y4;
double r4028102 = r4028101 * r4028069;
double r4028103 = y5;
double r4028104 = r4028103 * r4028072;
double r4028105 = r4028102 - r4028104;
double r4028106 = r4028100 * r4028105;
double r4028107 = r4028097 + r4028106;
double r4028108 = r4028065 * r4028088;
double r4028109 = r4028062 * r4028090;
double r4028110 = r4028108 - r4028109;
double r4028111 = r4028101 * r4028071;
double r4028112 = r4028103 * r4028068;
double r4028113 = r4028111 - r4028112;
double r4028114 = r4028110 * r4028113;
double r4028115 = r4028107 - r4028114;
double r4028116 = r4028078 * r4028088;
double r4028117 = r4028076 * r4028090;
double r4028118 = r4028116 - r4028117;
double r4028119 = r4028101 * r4028083;
double r4028120 = r4028103 * r4028081;
double r4028121 = r4028119 - r4028120;
double r4028122 = r4028118 * r4028121;
double r4028123 = r4028115 + r4028122;
return r4028123;
}
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 r4028124 = z;
double r4028125 = -8.149338197257273e+22;
bool r4028126 = r4028124 <= r4028125;
double r4028127 = c;
double r4028128 = y0;
double r4028129 = r4028127 * r4028128;
double r4028130 = a;
double r4028131 = y1;
double r4028132 = r4028130 * r4028131;
double r4028133 = r4028129 - r4028132;
double r4028134 = x;
double r4028135 = y2;
double r4028136 = r4028134 * r4028135;
double r4028137 = y3;
double r4028138 = r4028137 * r4028124;
double r4028139 = r4028136 - r4028138;
double r4028140 = r4028133 * r4028139;
double r4028141 = b;
double r4028142 = r4028130 * r4028141;
double r4028143 = i;
double r4028144 = r4028143 * r4028127;
double r4028145 = r4028142 - r4028144;
double r4028146 = y;
double r4028147 = r4028134 * r4028146;
double r4028148 = t;
double r4028149 = r4028124 * r4028148;
double r4028150 = r4028147 - r4028149;
double r4028151 = r4028145 * r4028150;
double r4028152 = j;
double r4028153 = r4028134 * r4028152;
double r4028154 = k;
double r4028155 = r4028124 * r4028154;
double r4028156 = r4028153 - r4028155;
double r4028157 = r4028141 * r4028128;
double r4028158 = r4028143 * r4028131;
double r4028159 = r4028157 - r4028158;
double r4028160 = r4028156 * r4028159;
double r4028161 = r4028151 - r4028160;
double r4028162 = r4028140 + r4028161;
double r4028163 = r4028148 * r4028152;
double r4028164 = r4028146 * r4028154;
double r4028165 = r4028163 - r4028164;
double r4028166 = y4;
double r4028167 = r4028166 * r4028141;
double r4028168 = y5;
double r4028169 = r4028143 * r4028168;
double r4028170 = r4028167 - r4028169;
double r4028171 = r4028165 * r4028170;
double r4028172 = r4028162 + r4028171;
double r4028173 = r4028148 * r4028135;
double r4028174 = r4028146 * r4028137;
double r4028175 = r4028173 - r4028174;
double r4028176 = r4028166 * r4028127;
double r4028177 = r4028168 * r4028130;
double r4028178 = r4028176 - r4028177;
double r4028179 = r4028175 * r4028178;
double r4028180 = r4028172 - r4028179;
double r4028181 = r4028135 * r4028154;
double r4028182 = r4028152 * r4028137;
double r4028183 = r4028181 - r4028182;
double r4028184 = r4028166 * r4028131;
double r4028185 = r4028168 * r4028128;
double r4028186 = r4028184 - r4028185;
double r4028187 = r4028183 * r4028186;
double r4028188 = cbrt(r4028187);
double r4028189 = r4028188 * r4028188;
double r4028190 = r4028189 * r4028188;
double r4028191 = r4028180 + r4028190;
double r4028192 = 1.1977317398480058e-231;
bool r4028193 = r4028124 <= r4028192;
double r4028194 = r4028127 * r4028124;
double r4028195 = r4028143 * r4028194;
double r4028196 = r4028195 * r4028148;
double r4028197 = r4028146 * r4028127;
double r4028198 = r4028197 * r4028134;
double r4028199 = r4028143 * r4028198;
double r4028200 = r4028124 * r4028141;
double r4028201 = r4028200 * r4028148;
double r4028202 = r4028130 * r4028201;
double r4028203 = r4028199 + r4028202;
double r4028204 = r4028196 - r4028203;
double r4028205 = r4028204 - r4028160;
double r4028206 = r4028140 + r4028205;
double r4028207 = r4028171 + r4028206;
double r4028208 = r4028207 - r4028179;
double r4028209 = r4028187 + r4028208;
double r4028210 = r4028185 * r4028152;
double r4028211 = r4028137 * r4028210;
double r4028212 = r4028166 * r4028152;
double r4028213 = r4028137 * r4028212;
double r4028214 = r4028131 * r4028213;
double r4028215 = r4028135 * r4028185;
double r4028216 = r4028154 * r4028215;
double r4028217 = r4028214 + r4028216;
double r4028218 = r4028211 - r4028217;
double r4028219 = r4028180 + r4028218;
double r4028220 = r4028193 ? r4028209 : r4028219;
double r4028221 = r4028126 ? r4028191 : r4028220;
return r4028221;
}



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 z < -8.149338197257273e+22Initial program 28.3
rmApplied add-cube-cbrt28.3
if -8.149338197257273e+22 < z < 1.1977317398480058e-231Initial program 25.1
Taylor expanded around -inf 26.1
if 1.1977317398480058e-231 < z Initial program 25.8
Taylor expanded around -inf 28.0
Final simplification27.2
herbie shell --seed 2019129
(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)))))