\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}\;y1 \le -7.2484292437968247 \cdot 10^{-36}:\\
\;\;\;\;\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(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \sqrt[3]{x \cdot y2 - z \cdot y3}\right) \cdot \left(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \left(y0 \cdot c - y1 \cdot a\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(\left(\left(k \cdot y2 - j \cdot y3\right) \cdot y4\right) \cdot y1 + \left(y5 \cdot \left(j \cdot y3 - k \cdot y2\right)\right) \cdot y0\right)\\
\mathbf{elif}\;y1 \le -3.7890320354432455 \cdot 10^{-289}:\\
\;\;\;\;\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) - \left(i \cdot \left(j \cdot \left(y1 \cdot x\right)\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(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}\;y1 \le 4.017680650719793 \cdot 10^{-189}:\\
\;\;\;\;\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}\;y1 \le 3.9529212417780789 \cdot 10^{-81}:\\
\;\;\;\;\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}\;y1 \le 6.1912961672376383 \cdot 10^{100}:\\
\;\;\;\;\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(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \sqrt[3]{x \cdot y2 - z \cdot y3}\right) \cdot \left(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \left(y0 \cdot c - y1 \cdot a\right)\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{elif}\;y1 \le 1.1133346085590215 \cdot 10^{105}:\\
\;\;\;\;\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) - \left(i \cdot \left(j \cdot \left(y1 \cdot x\right)\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(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}\;y1 \le 1.4955038703616583 \cdot 10^{105}:\\
\;\;\;\;\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(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \sqrt[3]{x \cdot y2 - z \cdot y3}\right) \cdot \left(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \left(y0 \cdot c - y1 \cdot a\right)\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(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \sqrt[3]{x \cdot y2 - z \cdot y3}\right) \cdot \left(\sqrt[3]{x \cdot y2 - z \cdot y3} \cdot \left(y0 \cdot c - y1 \cdot a\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - 0\right) + \left(\left(\left(k \cdot y2 - j \cdot y3\right) \cdot y4\right) \cdot y1 + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(-y5 \cdot y0\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 r160450 = x;
double r160451 = y;
double r160452 = r160450 * r160451;
double r160453 = z;
double r160454 = t;
double r160455 = r160453 * r160454;
double r160456 = r160452 - r160455;
double r160457 = a;
double r160458 = b;
double r160459 = r160457 * r160458;
double r160460 = c;
double r160461 = i;
double r160462 = r160460 * r160461;
double r160463 = r160459 - r160462;
double r160464 = r160456 * r160463;
double r160465 = j;
double r160466 = r160450 * r160465;
double r160467 = k;
double r160468 = r160453 * r160467;
double r160469 = r160466 - r160468;
double r160470 = y0;
double r160471 = r160470 * r160458;
double r160472 = y1;
double r160473 = r160472 * r160461;
double r160474 = r160471 - r160473;
double r160475 = r160469 * r160474;
double r160476 = r160464 - r160475;
double r160477 = y2;
double r160478 = r160450 * r160477;
double r160479 = y3;
double r160480 = r160453 * r160479;
double r160481 = r160478 - r160480;
double r160482 = r160470 * r160460;
double r160483 = r160472 * r160457;
double r160484 = r160482 - r160483;
double r160485 = r160481 * r160484;
double r160486 = r160476 + r160485;
double r160487 = r160454 * r160465;
double r160488 = r160451 * r160467;
double r160489 = r160487 - r160488;
double r160490 = y4;
double r160491 = r160490 * r160458;
double r160492 = y5;
double r160493 = r160492 * r160461;
double r160494 = r160491 - r160493;
double r160495 = r160489 * r160494;
double r160496 = r160486 + r160495;
double r160497 = r160454 * r160477;
double r160498 = r160451 * r160479;
double r160499 = r160497 - r160498;
double r160500 = r160490 * r160460;
double r160501 = r160492 * r160457;
double r160502 = r160500 - r160501;
double r160503 = r160499 * r160502;
double r160504 = r160496 - r160503;
double r160505 = r160467 * r160477;
double r160506 = r160465 * r160479;
double r160507 = r160505 - r160506;
double r160508 = r160490 * r160472;
double r160509 = r160492 * r160470;
double r160510 = r160508 - r160509;
double r160511 = r160507 * r160510;
double r160512 = r160504 + r160511;
return r160512;
}
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 r160513 = y1;
double r160514 = -7.248429243796825e-36;
bool r160515 = r160513 <= r160514;
double r160516 = x;
double r160517 = y;
double r160518 = r160516 * r160517;
double r160519 = z;
double r160520 = t;
double r160521 = r160519 * r160520;
double r160522 = r160518 - r160521;
double r160523 = a;
double r160524 = b;
double r160525 = r160523 * r160524;
double r160526 = c;
double r160527 = i;
double r160528 = r160526 * r160527;
double r160529 = r160525 - r160528;
double r160530 = r160522 * r160529;
double r160531 = j;
double r160532 = r160516 * r160531;
double r160533 = k;
double r160534 = r160519 * r160533;
double r160535 = r160532 - r160534;
double r160536 = y0;
double r160537 = r160536 * r160524;
double r160538 = r160513 * r160527;
double r160539 = r160537 - r160538;
double r160540 = r160535 * r160539;
double r160541 = r160530 - r160540;
double r160542 = y2;
double r160543 = r160516 * r160542;
double r160544 = y3;
double r160545 = r160519 * r160544;
double r160546 = r160543 - r160545;
double r160547 = cbrt(r160546);
double r160548 = r160547 * r160547;
double r160549 = r160536 * r160526;
double r160550 = r160513 * r160523;
double r160551 = r160549 - r160550;
double r160552 = r160547 * r160551;
double r160553 = r160548 * r160552;
double r160554 = r160541 + r160553;
double r160555 = r160520 * r160531;
double r160556 = r160517 * r160533;
double r160557 = r160555 - r160556;
double r160558 = y4;
double r160559 = r160558 * r160524;
double r160560 = y5;
double r160561 = r160560 * r160527;
double r160562 = r160559 - r160561;
double r160563 = r160557 * r160562;
double r160564 = r160554 + r160563;
double r160565 = r160520 * r160542;
double r160566 = r160517 * r160544;
double r160567 = r160565 - r160566;
double r160568 = r160558 * r160526;
double r160569 = r160560 * r160523;
double r160570 = r160568 - r160569;
double r160571 = r160567 * r160570;
double r160572 = r160564 - r160571;
double r160573 = r160533 * r160542;
double r160574 = r160531 * r160544;
double r160575 = r160573 - r160574;
double r160576 = r160575 * r160558;
double r160577 = r160576 * r160513;
double r160578 = r160574 - r160573;
double r160579 = r160560 * r160578;
double r160580 = r160579 * r160536;
double r160581 = r160577 + r160580;
double r160582 = r160572 + r160581;
double r160583 = -3.7890320354432455e-289;
bool r160584 = r160513 <= r160583;
double r160585 = r160519 * r160513;
double r160586 = r160527 * r160585;
double r160587 = r160533 * r160586;
double r160588 = r160513 * r160516;
double r160589 = r160531 * r160588;
double r160590 = r160527 * r160589;
double r160591 = r160533 * r160524;
double r160592 = r160519 * r160591;
double r160593 = r160536 * r160592;
double r160594 = r160590 + r160593;
double r160595 = r160587 - r160594;
double r160596 = r160530 - r160595;
double r160597 = r160546 * r160551;
double r160598 = r160596 + r160597;
double r160599 = r160598 + r160563;
double r160600 = r160599 - r160571;
double r160601 = r160558 * r160513;
double r160602 = r160560 * r160536;
double r160603 = r160601 - r160602;
double r160604 = r160575 * r160603;
double r160605 = r160600 + r160604;
double r160606 = 4.017680650719793e-189;
bool r160607 = r160513 <= r160606;
double r160608 = r160513 * r160519;
double r160609 = r160544 * r160608;
double r160610 = r160523 * r160609;
double r160611 = r160544 * r160526;
double r160612 = r160519 * r160611;
double r160613 = r160536 * r160612;
double r160614 = r160542 * r160513;
double r160615 = r160516 * r160614;
double r160616 = r160523 * r160615;
double r160617 = r160613 + r160616;
double r160618 = r160610 - r160617;
double r160619 = r160541 + r160618;
double r160620 = r160619 + r160563;
double r160621 = r160620 - r160571;
double r160622 = r160621 + r160604;
double r160623 = 3.952921241778079e-81;
bool r160624 = r160513 <= r160623;
double r160625 = r160541 + r160597;
double r160626 = r160625 + r160563;
double r160627 = r160626 - r160571;
double r160628 = r160531 * r160560;
double r160629 = r160544 * r160628;
double r160630 = r160536 * r160629;
double r160631 = r160533 * r160560;
double r160632 = r160542 * r160631;
double r160633 = r160536 * r160632;
double r160634 = r160531 * r160558;
double r160635 = r160544 * r160634;
double r160636 = r160513 * r160635;
double r160637 = r160633 + r160636;
double r160638 = r160630 - r160637;
double r160639 = r160627 + r160638;
double r160640 = 6.191296167237638e+100;
bool r160641 = r160513 <= r160640;
double r160642 = r160517 * r160560;
double r160643 = r160544 * r160642;
double r160644 = r160523 * r160643;
double r160645 = r160544 * r160568;
double r160646 = r160517 * r160645;
double r160647 = r160542 * r160520;
double r160648 = r160523 * r160647;
double r160649 = r160560 * r160648;
double r160650 = r160646 + r160649;
double r160651 = r160644 - r160650;
double r160652 = r160564 - r160651;
double r160653 = r160652 + r160604;
double r160654 = 1.1133346085590215e+105;
bool r160655 = r160513 <= r160654;
double r160656 = 1.4955038703616583e+105;
bool r160657 = r160513 <= r160656;
double r160658 = 0.0;
double r160659 = r160564 - r160658;
double r160660 = -r160602;
double r160661 = r160575 * r160660;
double r160662 = r160577 + r160661;
double r160663 = r160659 + r160662;
double r160664 = r160657 ? r160653 : r160663;
double r160665 = r160655 ? r160605 : r160664;
double r160666 = r160641 ? r160653 : r160665;
double r160667 = r160624 ? r160639 : r160666;
double r160668 = r160607 ? r160622 : r160667;
double r160669 = r160584 ? r160605 : r160668;
double r160670 = r160515 ? r160582 : r160669;
return r160670;
}



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 y1 < -7.248429243796825e-36Initial program 28.3
rmApplied add-cube-cbrt28.5
Applied associate-*l*28.5
rmApplied sub-neg28.5
Applied distribute-lft-in28.5
rmApplied associate-*r*26.8
Taylor expanded around inf 27.9
Simplified26.5
if -7.248429243796825e-36 < y1 < -3.7890320354432455e-289 or 6.191296167237638e+100 < y1 < 1.1133346085590215e+105Initial program 26.2
Taylor expanded around inf 27.2
if -3.7890320354432455e-289 < y1 < 4.017680650719793e-189Initial program 26.2
Taylor expanded around inf 27.3
if 4.017680650719793e-189 < y1 < 3.952921241778079e-81Initial program 25.8
Taylor expanded around inf 29.1
if 3.952921241778079e-81 < y1 < 6.191296167237638e+100 or 1.1133346085590215e+105 < y1 < 1.4955038703616583e+105Initial program 22.5
rmApplied add-cube-cbrt22.7
Applied associate-*l*22.7
Taylor expanded around inf 24.9
if 1.4955038703616583e+105 < y1 Initial program 35.5
rmApplied add-cube-cbrt35.7
Applied associate-*l*35.7
rmApplied sub-neg35.7
Applied distribute-lft-in35.7
rmApplied associate-*r*32.2
Taylor expanded around 0 33.5
Final simplification27.5
herbie shell --seed 2020064
(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)))))