\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}\;y4 \le -1.0334949804552366 \cdot 10^{-186}:\\
\;\;\;\;\left(y4 \cdot y1 - y5 \cdot y0\right) \cdot \left(y2 \cdot k - y3 \cdot j\right) + \left(\left(\left(\left(y0 \cdot c - y1 \cdot a\right) \cdot \left(x \cdot y2 - y3 \cdot z\right) + \left(-\left(x \cdot j - z \cdot k\right)\right) \cdot \left(y0 \cdot b - i \cdot y1\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\right) - \left(y4 \cdot c - y5 \cdot a\right) \cdot \left(y2 \cdot t - y \cdot y3\right)\right)\\
\mathbf{elif}\;y4 \le 5.037136041772764 \cdot 10^{-136}:\\
\;\;\;\;\left(y3 \cdot \left(\left(y5 \cdot y0\right) \cdot j\right) - \left(k \cdot \left(y2 \cdot \left(y5 \cdot y0\right)\right) + y1 \cdot \left(\left(j \cdot y4\right) \cdot y3\right)\right)\right) + \left(\left(\left(\left(y0 \cdot c - y1 \cdot a\right) \cdot \left(x \cdot y2 - y3 \cdot z\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(y0 \cdot b - i \cdot y1\right)\right)\right) + \left(\sqrt[3]{j \cdot t - y \cdot k} \cdot \sqrt[3]{j \cdot t - y \cdot k}\right) \cdot \left(\sqrt[3]{j \cdot t - y \cdot k} \cdot \left(b \cdot y4 - i \cdot y5\right)\right)\right) - \left(y4 \cdot c - y5 \cdot a\right) \cdot \left(y2 \cdot t - y \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(y4 \cdot y1 - y5 \cdot y0\right) \cdot \left(y2 \cdot k - y3 \cdot j\right) + \left(\left(\left(\left(y0 \cdot c - y1 \cdot a\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(x \cdot \left(y \cdot c\right)\right) + a \cdot \left(\left(b \cdot z\right) \cdot t\right)\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - i \cdot y1\right)\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\right) - \left(y4 \cdot c - y5 \cdot a\right) \cdot \left(y2 \cdot t - y \cdot y3\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 r5293316 = x;
double r5293317 = y;
double r5293318 = r5293316 * r5293317;
double r5293319 = z;
double r5293320 = t;
double r5293321 = r5293319 * r5293320;
double r5293322 = r5293318 - r5293321;
double r5293323 = a;
double r5293324 = b;
double r5293325 = r5293323 * r5293324;
double r5293326 = c;
double r5293327 = i;
double r5293328 = r5293326 * r5293327;
double r5293329 = r5293325 - r5293328;
double r5293330 = r5293322 * r5293329;
double r5293331 = j;
double r5293332 = r5293316 * r5293331;
double r5293333 = k;
double r5293334 = r5293319 * r5293333;
double r5293335 = r5293332 - r5293334;
double r5293336 = y0;
double r5293337 = r5293336 * r5293324;
double r5293338 = y1;
double r5293339 = r5293338 * r5293327;
double r5293340 = r5293337 - r5293339;
double r5293341 = r5293335 * r5293340;
double r5293342 = r5293330 - r5293341;
double r5293343 = y2;
double r5293344 = r5293316 * r5293343;
double r5293345 = y3;
double r5293346 = r5293319 * r5293345;
double r5293347 = r5293344 - r5293346;
double r5293348 = r5293336 * r5293326;
double r5293349 = r5293338 * r5293323;
double r5293350 = r5293348 - r5293349;
double r5293351 = r5293347 * r5293350;
double r5293352 = r5293342 + r5293351;
double r5293353 = r5293320 * r5293331;
double r5293354 = r5293317 * r5293333;
double r5293355 = r5293353 - r5293354;
double r5293356 = y4;
double r5293357 = r5293356 * r5293324;
double r5293358 = y5;
double r5293359 = r5293358 * r5293327;
double r5293360 = r5293357 - r5293359;
double r5293361 = r5293355 * r5293360;
double r5293362 = r5293352 + r5293361;
double r5293363 = r5293320 * r5293343;
double r5293364 = r5293317 * r5293345;
double r5293365 = r5293363 - r5293364;
double r5293366 = r5293356 * r5293326;
double r5293367 = r5293358 * r5293323;
double r5293368 = r5293366 - r5293367;
double r5293369 = r5293365 * r5293368;
double r5293370 = r5293362 - r5293369;
double r5293371 = r5293333 * r5293343;
double r5293372 = r5293331 * r5293345;
double r5293373 = r5293371 - r5293372;
double r5293374 = r5293356 * r5293338;
double r5293375 = r5293358 * r5293336;
double r5293376 = r5293374 - r5293375;
double r5293377 = r5293373 * r5293376;
double r5293378 = r5293370 + r5293377;
return r5293378;
}
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 r5293379 = y4;
double r5293380 = -1.0334949804552366e-186;
bool r5293381 = r5293379 <= r5293380;
double r5293382 = y1;
double r5293383 = r5293379 * r5293382;
double r5293384 = y5;
double r5293385 = y0;
double r5293386 = r5293384 * r5293385;
double r5293387 = r5293383 - r5293386;
double r5293388 = y2;
double r5293389 = k;
double r5293390 = r5293388 * r5293389;
double r5293391 = y3;
double r5293392 = j;
double r5293393 = r5293391 * r5293392;
double r5293394 = r5293390 - r5293393;
double r5293395 = r5293387 * r5293394;
double r5293396 = c;
double r5293397 = r5293385 * r5293396;
double r5293398 = a;
double r5293399 = r5293382 * r5293398;
double r5293400 = r5293397 - r5293399;
double r5293401 = x;
double r5293402 = r5293401 * r5293388;
double r5293403 = z;
double r5293404 = r5293391 * r5293403;
double r5293405 = r5293402 - r5293404;
double r5293406 = r5293400 * r5293405;
double r5293407 = r5293401 * r5293392;
double r5293408 = r5293403 * r5293389;
double r5293409 = r5293407 - r5293408;
double r5293410 = -r5293409;
double r5293411 = b;
double r5293412 = r5293385 * r5293411;
double r5293413 = i;
double r5293414 = r5293413 * r5293382;
double r5293415 = r5293412 - r5293414;
double r5293416 = r5293410 * r5293415;
double r5293417 = r5293406 + r5293416;
double r5293418 = t;
double r5293419 = r5293392 * r5293418;
double r5293420 = y;
double r5293421 = r5293420 * r5293389;
double r5293422 = r5293419 - r5293421;
double r5293423 = r5293411 * r5293379;
double r5293424 = r5293413 * r5293384;
double r5293425 = r5293423 - r5293424;
double r5293426 = r5293422 * r5293425;
double r5293427 = r5293417 + r5293426;
double r5293428 = r5293379 * r5293396;
double r5293429 = r5293384 * r5293398;
double r5293430 = r5293428 - r5293429;
double r5293431 = r5293388 * r5293418;
double r5293432 = r5293420 * r5293391;
double r5293433 = r5293431 - r5293432;
double r5293434 = r5293430 * r5293433;
double r5293435 = r5293427 - r5293434;
double r5293436 = r5293395 + r5293435;
double r5293437 = 5.037136041772764e-136;
bool r5293438 = r5293379 <= r5293437;
double r5293439 = r5293386 * r5293392;
double r5293440 = r5293391 * r5293439;
double r5293441 = r5293388 * r5293386;
double r5293442 = r5293389 * r5293441;
double r5293443 = r5293392 * r5293379;
double r5293444 = r5293443 * r5293391;
double r5293445 = r5293382 * r5293444;
double r5293446 = r5293442 + r5293445;
double r5293447 = r5293440 - r5293446;
double r5293448 = r5293401 * r5293420;
double r5293449 = r5293418 * r5293403;
double r5293450 = r5293448 - r5293449;
double r5293451 = r5293398 * r5293411;
double r5293452 = r5293413 * r5293396;
double r5293453 = r5293451 - r5293452;
double r5293454 = r5293450 * r5293453;
double r5293455 = r5293409 * r5293415;
double r5293456 = r5293454 - r5293455;
double r5293457 = r5293406 + r5293456;
double r5293458 = cbrt(r5293422);
double r5293459 = r5293458 * r5293458;
double r5293460 = r5293458 * r5293425;
double r5293461 = r5293459 * r5293460;
double r5293462 = r5293457 + r5293461;
double r5293463 = r5293462 - r5293434;
double r5293464 = r5293447 + r5293463;
double r5293465 = r5293396 * r5293403;
double r5293466 = r5293413 * r5293465;
double r5293467 = r5293466 * r5293418;
double r5293468 = r5293420 * r5293396;
double r5293469 = r5293401 * r5293468;
double r5293470 = r5293413 * r5293469;
double r5293471 = r5293411 * r5293403;
double r5293472 = r5293471 * r5293418;
double r5293473 = r5293398 * r5293472;
double r5293474 = r5293470 + r5293473;
double r5293475 = r5293467 - r5293474;
double r5293476 = r5293475 - r5293455;
double r5293477 = r5293406 + r5293476;
double r5293478 = r5293477 + r5293426;
double r5293479 = r5293478 - r5293434;
double r5293480 = r5293395 + r5293479;
double r5293481 = r5293438 ? r5293464 : r5293480;
double r5293482 = r5293381 ? r5293436 : r5293481;
return r5293482;
}



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 y4 < -1.0334949804552366e-186Initial program 26.2
Taylor expanded around 0 30.5
if -1.0334949804552366e-186 < y4 < 5.037136041772764e-136Initial program 25.4
rmApplied add-cube-cbrt25.4
Applied associate-*l*25.4
Taylor expanded around inf 24.5
if 5.037136041772764e-136 < y4 Initial program 24.9
Taylor expanded around inf 26.9
Final simplification27.4
herbie shell --seed 2019146
(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)))))