\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}\;y0 \le -2.26377742458686896 \cdot 10^{-42}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \mathsf{fma}\left(i, j \cdot \left(y1 \cdot x\right), y0 \cdot \left(z \cdot \left(k \cdot b\right)\right)\right)\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(\sqrt[3]{t \cdot y2 - y \cdot y3} \cdot \sqrt[3]{t \cdot y2 - y \cdot y3}\right) \cdot \left(\sqrt[3]{t \cdot y2 - y \cdot y3} \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;y0 \le -2.24790019441945138 \cdot 10^{-120}:\\
\;\;\;\;\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(a \cdot \left(y3 \cdot \left(y \cdot y5\right)\right) - \mathsf{fma}\left(y, y3 \cdot \left(y4 \cdot c\right), y5 \cdot \left(a \cdot \left(y2 \cdot t\right)\right)\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;y0 \le -2.2913568130925792 \cdot 10^{-135}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \mathsf{fma}\left(i, j \cdot \left(y1 \cdot x\right), y0 \cdot \left(z \cdot \left(k \cdot b\right)\right)\right)\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(\sqrt[3]{t \cdot y2 - y \cdot y3} \cdot \sqrt[3]{t \cdot y2 - y \cdot y3}\right) \cdot \left(\sqrt[3]{t \cdot y2 - y \cdot y3} \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;y0 \le 1.7234977404476049 \cdot 10^{-301}:\\
\;\;\;\;\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)\\
\mathbf{elif}\;y0 \le 1.64430238790659205 \cdot 10^{-240}:\\
\;\;\;\;\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \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(k \cdot \left(i \cdot \left(y \cdot y5\right)\right) - \mathsf{fma}\left(t, i \cdot \left(j \cdot y5\right), k \cdot \left(y4 \cdot \left(y \cdot b\right)\right)\right)\right)\right)\\
\mathbf{elif}\;y0 \le 1.397620611129866 \cdot 10^{-229}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right) + \left(-\left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right)\right) + \left(k \cdot \left(i \cdot \left(y \cdot y5\right)\right) - \mathsf{fma}\left(t, i \cdot \left(j \cdot y5\right), k \cdot \left(y4 \cdot \left(y \cdot b\right)\right)\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}\;y0 \le 3.538677818990396 \cdot 10^{-87}:\\
\;\;\;\;\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(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right) - y2 \cdot \left(k \cdot y5\right)\right) - y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\\
\mathbf{elif}\;y0 \le 7.86451644427712822 \cdot 10^{-41}:\\
\;\;\;\;\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 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}\;y0 \le 7.5112716847524006 \cdot 10^{-24}:\\
\;\;\;\;\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)\\
\mathbf{else}:\\
\;\;\;\;\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(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right) - y2 \cdot \left(k \cdot y5\right)\right) - y1 \cdot \left(y3 \cdot \left(j \cdot y4\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 r157131 = x;
double r157132 = y;
double r157133 = r157131 * r157132;
double r157134 = z;
double r157135 = t;
double r157136 = r157134 * r157135;
double r157137 = r157133 - r157136;
double r157138 = a;
double r157139 = b;
double r157140 = r157138 * r157139;
double r157141 = c;
double r157142 = i;
double r157143 = r157141 * r157142;
double r157144 = r157140 - r157143;
double r157145 = r157137 * r157144;
double r157146 = j;
double r157147 = r157131 * r157146;
double r157148 = k;
double r157149 = r157134 * r157148;
double r157150 = r157147 - r157149;
double r157151 = y0;
double r157152 = r157151 * r157139;
double r157153 = y1;
double r157154 = r157153 * r157142;
double r157155 = r157152 - r157154;
double r157156 = r157150 * r157155;
double r157157 = r157145 - r157156;
double r157158 = y2;
double r157159 = r157131 * r157158;
double r157160 = y3;
double r157161 = r157134 * r157160;
double r157162 = r157159 - r157161;
double r157163 = r157151 * r157141;
double r157164 = r157153 * r157138;
double r157165 = r157163 - r157164;
double r157166 = r157162 * r157165;
double r157167 = r157157 + r157166;
double r157168 = r157135 * r157146;
double r157169 = r157132 * r157148;
double r157170 = r157168 - r157169;
double r157171 = y4;
double r157172 = r157171 * r157139;
double r157173 = y5;
double r157174 = r157173 * r157142;
double r157175 = r157172 - r157174;
double r157176 = r157170 * r157175;
double r157177 = r157167 + r157176;
double r157178 = r157135 * r157158;
double r157179 = r157132 * r157160;
double r157180 = r157178 - r157179;
double r157181 = r157171 * r157141;
double r157182 = r157173 * r157138;
double r157183 = r157181 - r157182;
double r157184 = r157180 * r157183;
double r157185 = r157177 - r157184;
double r157186 = r157148 * r157158;
double r157187 = r157146 * r157160;
double r157188 = r157186 - r157187;
double r157189 = r157171 * r157153;
double r157190 = r157173 * r157151;
double r157191 = r157189 - r157190;
double r157192 = r157188 * r157191;
double r157193 = r157185 + r157192;
return r157193;
}
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 r157194 = y0;
double r157195 = -2.263777424586869e-42;
bool r157196 = r157194 <= r157195;
double r157197 = x;
double r157198 = y;
double r157199 = r157197 * r157198;
double r157200 = z;
double r157201 = t;
double r157202 = r157200 * r157201;
double r157203 = r157199 - r157202;
double r157204 = a;
double r157205 = b;
double r157206 = r157204 * r157205;
double r157207 = c;
double r157208 = i;
double r157209 = r157207 * r157208;
double r157210 = r157206 - r157209;
double r157211 = r157203 * r157210;
double r157212 = k;
double r157213 = y1;
double r157214 = r157200 * r157213;
double r157215 = r157208 * r157214;
double r157216 = r157212 * r157215;
double r157217 = j;
double r157218 = r157213 * r157197;
double r157219 = r157217 * r157218;
double r157220 = r157212 * r157205;
double r157221 = r157200 * r157220;
double r157222 = r157194 * r157221;
double r157223 = fma(r157208, r157219, r157222);
double r157224 = r157216 - r157223;
double r157225 = r157211 - r157224;
double r157226 = y2;
double r157227 = r157197 * r157226;
double r157228 = y3;
double r157229 = r157200 * r157228;
double r157230 = r157227 - r157229;
double r157231 = r157194 * r157207;
double r157232 = r157213 * r157204;
double r157233 = r157231 - r157232;
double r157234 = r157230 * r157233;
double r157235 = r157225 + r157234;
double r157236 = r157201 * r157217;
double r157237 = r157198 * r157212;
double r157238 = r157236 - r157237;
double r157239 = y4;
double r157240 = r157239 * r157205;
double r157241 = y5;
double r157242 = r157241 * r157208;
double r157243 = r157240 - r157242;
double r157244 = r157238 * r157243;
double r157245 = r157235 + r157244;
double r157246 = r157201 * r157226;
double r157247 = r157198 * r157228;
double r157248 = r157246 - r157247;
double r157249 = cbrt(r157248);
double r157250 = r157249 * r157249;
double r157251 = r157239 * r157207;
double r157252 = r157241 * r157204;
double r157253 = r157251 - r157252;
double r157254 = r157249 * r157253;
double r157255 = r157250 * r157254;
double r157256 = r157245 - r157255;
double r157257 = r157212 * r157226;
double r157258 = r157217 * r157228;
double r157259 = r157257 - r157258;
double r157260 = r157239 * r157213;
double r157261 = r157241 * r157194;
double r157262 = r157260 - r157261;
double r157263 = r157259 * r157262;
double r157264 = r157256 + r157263;
double r157265 = -2.2479001944194514e-120;
bool r157266 = r157194 <= r157265;
double r157267 = r157197 * r157217;
double r157268 = r157200 * r157212;
double r157269 = r157267 - r157268;
double r157270 = r157194 * r157205;
double r157271 = r157213 * r157208;
double r157272 = r157270 - r157271;
double r157273 = r157269 * r157272;
double r157274 = r157211 - r157273;
double r157275 = r157274 + r157234;
double r157276 = r157275 + r157244;
double r157277 = r157198 * r157241;
double r157278 = r157228 * r157277;
double r157279 = r157204 * r157278;
double r157280 = r157228 * r157251;
double r157281 = r157226 * r157201;
double r157282 = r157204 * r157281;
double r157283 = r157241 * r157282;
double r157284 = fma(r157198, r157280, r157283);
double r157285 = r157279 - r157284;
double r157286 = r157276 - r157285;
double r157287 = r157286 + r157263;
double r157288 = -2.2913568130925792e-135;
bool r157289 = r157194 <= r157288;
double r157290 = 1.723497740447605e-301;
bool r157291 = r157194 <= r157290;
double r157292 = r157248 * r157253;
double r157293 = r157276 - r157292;
double r157294 = 1.644302387906592e-240;
bool r157295 = r157194 <= r157294;
double r157296 = r157208 * r157277;
double r157297 = r157212 * r157296;
double r157298 = r157217 * r157241;
double r157299 = r157208 * r157298;
double r157300 = r157198 * r157205;
double r157301 = r157239 * r157300;
double r157302 = r157212 * r157301;
double r157303 = fma(r157201, r157299, r157302);
double r157304 = r157297 - r157303;
double r157305 = r157275 + r157304;
double r157306 = r157263 + r157305;
double r157307 = 1.397620611129866e-229;
bool r157308 = r157194 <= r157307;
double r157309 = -r157273;
double r157310 = r157234 + r157309;
double r157311 = r157310 + r157304;
double r157312 = r157311 - r157292;
double r157313 = r157312 + r157263;
double r157314 = 3.5386778189903964e-87;
bool r157315 = r157194 <= r157314;
double r157316 = r157228 * r157298;
double r157317 = r157212 * r157241;
double r157318 = r157226 * r157317;
double r157319 = r157316 - r157318;
double r157320 = r157194 * r157319;
double r157321 = r157217 * r157239;
double r157322 = r157228 * r157321;
double r157323 = r157213 * r157322;
double r157324 = r157320 - r157323;
double r157325 = r157293 + r157324;
double r157326 = 7.864516444277128e-41;
bool r157327 = r157194 <= r157326;
double r157328 = r157275 - r157292;
double r157329 = r157328 + r157263;
double r157330 = 7.5112716847524e-24;
bool r157331 = r157194 <= r157330;
double r157332 = r157331 ? r157293 : r157325;
double r157333 = r157327 ? r157329 : r157332;
double r157334 = r157315 ? r157325 : r157333;
double r157335 = r157308 ? r157313 : r157334;
double r157336 = r157295 ? r157306 : r157335;
double r157337 = r157291 ? r157293 : r157336;
double r157338 = r157289 ? r157264 : r157337;
double r157339 = r157266 ? r157287 : r157338;
double r157340 = r157196 ? r157264 : r157339;
return r157340;
}



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
if y0 < -2.263777424586869e-42 or -2.2479001944194514e-120 < y0 < -2.2913568130925792e-135Initial program 27.9
rmApplied add-cube-cbrt27.9
Applied associate-*l*27.9
Taylor expanded around inf 31.4
Simplified31.4
if -2.263777424586869e-42 < y0 < -2.2479001944194514e-120Initial program 24.4
Taylor expanded around inf 26.5
Simplified26.5
if -2.2913568130925792e-135 < y0 < 1.723497740447605e-301 or 7.864516444277128e-41 < y0 < 7.5112716847524e-24Initial program 26.3
Taylor expanded around 0 29.4
if 1.723497740447605e-301 < y0 < 1.644302387906592e-240Initial program 26.6
Taylor expanded around inf 29.8
Simplified29.8
Taylor expanded around 0 36.4
if 1.644302387906592e-240 < y0 < 1.397620611129866e-229Initial program 27.0
Taylor expanded around inf 31.3
Simplified31.3
Taylor expanded around 0 34.6
if 1.397620611129866e-229 < y0 < 3.5386778189903964e-87 or 7.5112716847524e-24 < y0 Initial program 26.8
Taylor expanded around inf 29.6
Simplified29.6
if 3.5386778189903964e-87 < y0 < 7.864516444277128e-41Initial program 24.1
Taylor expanded around 0 28.3
Final simplification30.2
herbie shell --seed 2019199 +o rules:numerics
(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)))))