\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}\;y3 \le -3.76857872627632948 \cdot 10^{-10}:\\
\;\;\;\;\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)\right) - \left(y0 \cdot \left(y2 \cdot \left(k \cdot y5\right)\right) + y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)\\
\mathbf{elif}\;y3 \le 6.4349932201675677 \cdot 10^{-284}:\\
\;\;\;\;\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(a \cdot \left(y3 \cdot \left(y1 \cdot z\right)\right) - \left(y0 \cdot \left(z \cdot \left(y3 \cdot c\right)\right) + a \cdot \left(x \cdot \left(y2 \cdot y1\right)\right)\right)\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)\\
\mathbf{elif}\;y3 \le 1.4622191323114389 \cdot 10^{-28}:\\
\;\;\;\;\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)\right) - \left(y0 \cdot \left(y2 \cdot \left(k \cdot y5\right)\right) + y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)\\
\mathbf{elif}\;y3 \le 6.90918167605642245 \cdot 10^{47}:\\
\;\;\;\;\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(a \cdot \left(y3 \cdot \left(y1 \cdot z\right)\right) - \left(y0 \cdot \left(z \cdot \left(y3 \cdot c\right)\right) + a \cdot \left(x \cdot \left(y2 \cdot y1\right)\right)\right)\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)\\
\mathbf{elif}\;y3 \le 1.08865228153120512 \cdot 10^{178}:\\
\;\;\;\;\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) - \left(y \cdot \left(y3 \cdot \left(y4 \cdot c\right)\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{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)\right) - \left(y0 \cdot \left(y2 \cdot \left(k \cdot y5\right)\right) + y1 \cdot \left(y3 \cdot \left(j \cdot y4\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 r383 = x;
double r384 = y;
double r385 = r383 * r384;
double r386 = z;
double r387 = t;
double r388 = r386 * r387;
double r389 = r385 - r388;
double r390 = a;
double r391 = b;
double r392 = r390 * r391;
double r393 = c;
double r394 = i;
double r395 = r393 * r394;
double r396 = r392 - r395;
double r397 = r389 * r396;
double r398 = j;
double r399 = r383 * r398;
double r400 = k;
double r401 = r386 * r400;
double r402 = r399 - r401;
double r403 = y0;
double r404 = r403 * r391;
double r405 = y1;
double r406 = r405 * r394;
double r407 = r404 - r406;
double r408 = r402 * r407;
double r409 = r397 - r408;
double r410 = y2;
double r411 = r383 * r410;
double r412 = y3;
double r413 = r386 * r412;
double r414 = r411 - r413;
double r415 = r403 * r393;
double r416 = r405 * r390;
double r417 = r415 - r416;
double r418 = r414 * r417;
double r419 = r409 + r418;
double r420 = r387 * r398;
double r421 = r384 * r400;
double r422 = r420 - r421;
double r423 = y4;
double r424 = r423 * r391;
double r425 = y5;
double r426 = r425 * r394;
double r427 = r424 - r426;
double r428 = r422 * r427;
double r429 = r419 + r428;
double r430 = r387 * r410;
double r431 = r384 * r412;
double r432 = r430 - r431;
double r433 = r423 * r393;
double r434 = r425 * r390;
double r435 = r433 - r434;
double r436 = r432 * r435;
double r437 = r429 - r436;
double r438 = r400 * r410;
double r439 = r398 * r412;
double r440 = r438 - r439;
double r441 = r423 * r405;
double r442 = r425 * r403;
double r443 = r441 - r442;
double r444 = r440 * r443;
double r445 = r437 + r444;
return r445;
}
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 r446 = y3;
double r447 = -3.7685787262763295e-10;
bool r448 = r446 <= r447;
double r449 = x;
double r450 = y;
double r451 = r449 * r450;
double r452 = z;
double r453 = t;
double r454 = r452 * r453;
double r455 = r451 - r454;
double r456 = a;
double r457 = b;
double r458 = r456 * r457;
double r459 = c;
double r460 = i;
double r461 = r459 * r460;
double r462 = r458 - r461;
double r463 = r455 * r462;
double r464 = j;
double r465 = r449 * r464;
double r466 = k;
double r467 = r452 * r466;
double r468 = r465 - r467;
double r469 = y0;
double r470 = r469 * r457;
double r471 = y1;
double r472 = r471 * r460;
double r473 = r470 - r472;
double r474 = r468 * r473;
double r475 = r463 - r474;
double r476 = y2;
double r477 = r449 * r476;
double r478 = r452 * r446;
double r479 = r477 - r478;
double r480 = r469 * r459;
double r481 = r471 * r456;
double r482 = r480 - r481;
double r483 = r479 * r482;
double r484 = r475 + r483;
double r485 = r453 * r464;
double r486 = r450 * r466;
double r487 = r485 - r486;
double r488 = y4;
double r489 = r488 * r457;
double r490 = y5;
double r491 = r490 * r460;
double r492 = r489 - r491;
double r493 = r487 * r492;
double r494 = r484 + r493;
double r495 = r453 * r476;
double r496 = r450 * r446;
double r497 = r495 - r496;
double r498 = r488 * r459;
double r499 = r490 * r456;
double r500 = r498 - r499;
double r501 = r497 * r500;
double r502 = r494 - r501;
double r503 = r464 * r490;
double r504 = r446 * r503;
double r505 = r469 * r504;
double r506 = r466 * r490;
double r507 = r476 * r506;
double r508 = r469 * r507;
double r509 = r464 * r488;
double r510 = r446 * r509;
double r511 = r471 * r510;
double r512 = r508 + r511;
double r513 = r505 - r512;
double r514 = r502 + r513;
double r515 = 6.434993220167568e-284;
bool r516 = r446 <= r515;
double r517 = r471 * r452;
double r518 = r446 * r517;
double r519 = r456 * r518;
double r520 = r446 * r459;
double r521 = r452 * r520;
double r522 = r469 * r521;
double r523 = r476 * r471;
double r524 = r449 * r523;
double r525 = r456 * r524;
double r526 = r522 + r525;
double r527 = r519 - r526;
double r528 = r475 + r527;
double r529 = r528 + r493;
double r530 = r529 - r501;
double r531 = r466 * r476;
double r532 = r464 * r446;
double r533 = r531 - r532;
double r534 = r488 * r471;
double r535 = r490 * r469;
double r536 = r534 - r535;
double r537 = r533 * r536;
double r538 = r530 + r537;
double r539 = 1.462219132311439e-28;
bool r540 = r446 <= r539;
double r541 = 6.9091816760564224e+47;
bool r542 = r446 <= r541;
double r543 = 1.0886522815312051e+178;
bool r544 = r446 <= r543;
double r545 = r450 * r490;
double r546 = r446 * r545;
double r547 = r456 * r546;
double r548 = r446 * r498;
double r549 = r450 * r548;
double r550 = r476 * r453;
double r551 = r456 * r550;
double r552 = r490 * r551;
double r553 = r549 + r552;
double r554 = r547 - r553;
double r555 = r494 - r554;
double r556 = r555 + r537;
double r557 = r544 ? r556 : r514;
double r558 = r542 ? r538 : r557;
double r559 = r540 ? r514 : r558;
double r560 = r516 ? r538 : r559;
double r561 = r448 ? r514 : r560;
return r561;
}



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 y3 < -3.7685787262763295e-10 or 6.434993220167568e-284 < y3 < 1.462219132311439e-28 or 1.0886522815312051e+178 < y3 Initial program 28.7
Taylor expanded around inf 31.0
if -3.7685787262763295e-10 < y3 < 6.434993220167568e-284 or 1.462219132311439e-28 < y3 < 6.9091816760564224e+47Initial program 26.4
Taylor expanded around inf 28.6
if 6.9091816760564224e+47 < y3 < 1.0886522815312051e+178Initial program 26.3
Taylor expanded around inf 28.5
Final simplification29.8
herbie shell --seed 2020025
(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)))))