\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}\;x \le -2.2923867244047547 \cdot 10^{-263}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(\sqrt[3]{y4 \cdot b - i \cdot y5} \cdot \sqrt[3]{y4 \cdot b - i \cdot y5}\right) \cdot \left(t \cdot j - y \cdot k\right)\right) \cdot \sqrt[3]{y4 \cdot b - i \cdot y5} + \left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(y2 \cdot x - y3 \cdot z\right) + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - z \cdot t\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{elif}\;x \le 5.983721874521418 \cdot 10^{-177}:\\
\;\;\;\;\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(y2 \cdot x - y3 \cdot z\right) + \left(\left(\left(c \cdot z\right) \cdot \left(i \cdot t\right) - \mathsf{fma}\left(a, \left(b \cdot t\right) \cdot z, \left(i \cdot x\right) \cdot \left(c \cdot y\right)\right)\right) - \left(\left(\sqrt[3]{b \cdot y0 - i \cdot y1} \cdot \sqrt[3]{b \cdot y0 - i \cdot y1}\right) \cdot \left(x \cdot j - z \cdot k\right)\right) \cdot \sqrt[3]{b \cdot y0 - i \cdot y1}\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(\sqrt[3]{y4 \cdot b - i \cdot y5} \cdot \sqrt[3]{y4 \cdot b - i \cdot y5}\right) \cdot \left(t \cdot j - y \cdot k\right)\right) \cdot \sqrt[3]{y4 \cdot b - i \cdot y5} + \left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(y2 \cdot x - y3 \cdot z\right) + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - z \cdot t\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)\\
\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 r6762575 = x;
double r6762576 = y;
double r6762577 = r6762575 * r6762576;
double r6762578 = z;
double r6762579 = t;
double r6762580 = r6762578 * r6762579;
double r6762581 = r6762577 - r6762580;
double r6762582 = a;
double r6762583 = b;
double r6762584 = r6762582 * r6762583;
double r6762585 = c;
double r6762586 = i;
double r6762587 = r6762585 * r6762586;
double r6762588 = r6762584 - r6762587;
double r6762589 = r6762581 * r6762588;
double r6762590 = j;
double r6762591 = r6762575 * r6762590;
double r6762592 = k;
double r6762593 = r6762578 * r6762592;
double r6762594 = r6762591 - r6762593;
double r6762595 = y0;
double r6762596 = r6762595 * r6762583;
double r6762597 = y1;
double r6762598 = r6762597 * r6762586;
double r6762599 = r6762596 - r6762598;
double r6762600 = r6762594 * r6762599;
double r6762601 = r6762589 - r6762600;
double r6762602 = y2;
double r6762603 = r6762575 * r6762602;
double r6762604 = y3;
double r6762605 = r6762578 * r6762604;
double r6762606 = r6762603 - r6762605;
double r6762607 = r6762595 * r6762585;
double r6762608 = r6762597 * r6762582;
double r6762609 = r6762607 - r6762608;
double r6762610 = r6762606 * r6762609;
double r6762611 = r6762601 + r6762610;
double r6762612 = r6762579 * r6762590;
double r6762613 = r6762576 * r6762592;
double r6762614 = r6762612 - r6762613;
double r6762615 = y4;
double r6762616 = r6762615 * r6762583;
double r6762617 = y5;
double r6762618 = r6762617 * r6762586;
double r6762619 = r6762616 - r6762618;
double r6762620 = r6762614 * r6762619;
double r6762621 = r6762611 + r6762620;
double r6762622 = r6762579 * r6762602;
double r6762623 = r6762576 * r6762604;
double r6762624 = r6762622 - r6762623;
double r6762625 = r6762615 * r6762585;
double r6762626 = r6762617 * r6762582;
double r6762627 = r6762625 - r6762626;
double r6762628 = r6762624 * r6762627;
double r6762629 = r6762621 - r6762628;
double r6762630 = r6762592 * r6762602;
double r6762631 = r6762590 * r6762604;
double r6762632 = r6762630 - r6762631;
double r6762633 = r6762615 * r6762597;
double r6762634 = r6762617 * r6762595;
double r6762635 = r6762633 - r6762634;
double r6762636 = r6762632 * r6762635;
double r6762637 = r6762629 + r6762636;
return r6762637;
}
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 r6762638 = x;
double r6762639 = -2.2923867244047547e-263;
bool r6762640 = r6762638 <= r6762639;
double r6762641 = y2;
double r6762642 = k;
double r6762643 = r6762641 * r6762642;
double r6762644 = j;
double r6762645 = y3;
double r6762646 = r6762644 * r6762645;
double r6762647 = r6762643 - r6762646;
double r6762648 = y4;
double r6762649 = y1;
double r6762650 = r6762648 * r6762649;
double r6762651 = y5;
double r6762652 = y0;
double r6762653 = r6762651 * r6762652;
double r6762654 = r6762650 - r6762653;
double r6762655 = r6762647 * r6762654;
double r6762656 = b;
double r6762657 = r6762648 * r6762656;
double r6762658 = i;
double r6762659 = r6762658 * r6762651;
double r6762660 = r6762657 - r6762659;
double r6762661 = cbrt(r6762660);
double r6762662 = r6762661 * r6762661;
double r6762663 = t;
double r6762664 = r6762663 * r6762644;
double r6762665 = y;
double r6762666 = r6762665 * r6762642;
double r6762667 = r6762664 - r6762666;
double r6762668 = r6762662 * r6762667;
double r6762669 = r6762668 * r6762661;
double r6762670 = c;
double r6762671 = r6762670 * r6762652;
double r6762672 = a;
double r6762673 = r6762672 * r6762649;
double r6762674 = r6762671 - r6762673;
double r6762675 = r6762641 * r6762638;
double r6762676 = z;
double r6762677 = r6762645 * r6762676;
double r6762678 = r6762675 - r6762677;
double r6762679 = r6762674 * r6762678;
double r6762680 = r6762672 * r6762656;
double r6762681 = r6762658 * r6762670;
double r6762682 = r6762680 - r6762681;
double r6762683 = r6762665 * r6762638;
double r6762684 = r6762676 * r6762663;
double r6762685 = r6762683 - r6762684;
double r6762686 = r6762682 * r6762685;
double r6762687 = r6762638 * r6762644;
double r6762688 = r6762676 * r6762642;
double r6762689 = r6762687 - r6762688;
double r6762690 = r6762656 * r6762652;
double r6762691 = r6762658 * r6762649;
double r6762692 = r6762690 - r6762691;
double r6762693 = r6762689 * r6762692;
double r6762694 = r6762686 - r6762693;
double r6762695 = r6762679 + r6762694;
double r6762696 = r6762669 + r6762695;
double r6762697 = r6762663 * r6762641;
double r6762698 = r6762665 * r6762645;
double r6762699 = r6762697 - r6762698;
double r6762700 = r6762648 * r6762670;
double r6762701 = r6762651 * r6762672;
double r6762702 = r6762700 - r6762701;
double r6762703 = r6762699 * r6762702;
double r6762704 = r6762696 - r6762703;
double r6762705 = r6762655 + r6762704;
double r6762706 = 5.983721874521418e-177;
bool r6762707 = r6762638 <= r6762706;
double r6762708 = r6762667 * r6762660;
double r6762709 = r6762670 * r6762676;
double r6762710 = r6762658 * r6762663;
double r6762711 = r6762709 * r6762710;
double r6762712 = r6762656 * r6762663;
double r6762713 = r6762712 * r6762676;
double r6762714 = r6762658 * r6762638;
double r6762715 = r6762670 * r6762665;
double r6762716 = r6762714 * r6762715;
double r6762717 = fma(r6762672, r6762713, r6762716);
double r6762718 = r6762711 - r6762717;
double r6762719 = cbrt(r6762692);
double r6762720 = r6762719 * r6762719;
double r6762721 = r6762720 * r6762689;
double r6762722 = r6762721 * r6762719;
double r6762723 = r6762718 - r6762722;
double r6762724 = r6762679 + r6762723;
double r6762725 = r6762708 + r6762724;
double r6762726 = r6762725 - r6762703;
double r6762727 = r6762655 + r6762726;
double r6762728 = r6762707 ? r6762727 : r6762705;
double r6762729 = r6762640 ? r6762705 : r6762728;
return r6762729;
}



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 x < -2.2923867244047547e-263 or 5.983721874521418e-177 < x Initial program 25.6
rmApplied add-cube-cbrt25.7
Applied associate-*r*25.7
if -2.2923867244047547e-263 < x < 5.983721874521418e-177Initial program 25.3
rmApplied add-cube-cbrt25.4
Applied associate-*r*25.4
Taylor expanded around -inf 28.2
Simplified28.1
Final simplification26.2
herbie shell --seed 2019149 +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)))))