\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\begin{array}{l}
\mathbf{if}\;b \le -5.40768492793686555941761981699772927749 \cdot 10^{-39}:\\
\;\;\;\;\left(j \cdot \left(t \cdot c - y \cdot i\right) + \left(y \cdot \left(x \cdot z\right) - t \cdot \left(x \cdot a\right)\right)\right) + \left(a \cdot i - c \cdot z\right) \cdot b\\
\mathbf{elif}\;b \le -1.310708033188256852286497632350011018004 \cdot 10^{-167}:\\
\;\;\;\;\left(\left(j \cdot \left(-y \cdot i\right) + \left(j \cdot c\right) \cdot t\right) + \left(y \cdot \left(x \cdot z\right) - \left(t \cdot x\right) \cdot a\right)\right) + \left(\left(i \cdot b\right) \cdot a - \left(b \cdot z\right) \cdot c\right)\\
\mathbf{elif}\;b \le -5.939141620508838471044724084871683968029 \cdot 10^{-276}:\\
\;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) - \left(t \cdot x\right) \cdot a\right) + j \cdot \left(t \cdot c - y \cdot i\right)\right) + \left(\sqrt[3]{\left(i \cdot b\right) \cdot a} \cdot \left(\sqrt[3]{\left(i \cdot b\right) \cdot a} \cdot \sqrt[3]{\left(i \cdot b\right) \cdot a}\right) - \left(b \cdot z\right) \cdot c\right)\\
\mathbf{elif}\;b \le 2.248851513589900759233480267753595172809 \cdot 10^{-207}:\\
\;\;\;\;\left(\left(j \cdot \left(-y \cdot i\right) + \left(j \cdot c\right) \cdot t\right) + \left(y \cdot \left(x \cdot z\right) - \left(t \cdot x\right) \cdot a\right)\right) + \left(\left(i \cdot b\right) \cdot a - \left(b \cdot z\right) \cdot c\right)\\
\mathbf{elif}\;b \le 1.659927328976305946610149570336434936816 \cdot 10^{118}:\\
\;\;\;\;\left(j \cdot \left(t \cdot c - y \cdot i\right) + \left(x \cdot \left(y \cdot z\right) - \sqrt[3]{a} \cdot \left(t \cdot \left(\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot x\right)\right)\right)\right) + \left(\left(i \cdot b\right) \cdot a - \left(b \cdot z\right) \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(\left(j \cdot c\right) \cdot t + y \cdot \left(\left(-i\right) \cdot j\right)\right) + \left(y \cdot z - t \cdot a\right) \cdot x\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r88679 = x;
double r88680 = y;
double r88681 = z;
double r88682 = r88680 * r88681;
double r88683 = t;
double r88684 = a;
double r88685 = r88683 * r88684;
double r88686 = r88682 - r88685;
double r88687 = r88679 * r88686;
double r88688 = b;
double r88689 = c;
double r88690 = r88689 * r88681;
double r88691 = i;
double r88692 = r88691 * r88684;
double r88693 = r88690 - r88692;
double r88694 = r88688 * r88693;
double r88695 = r88687 - r88694;
double r88696 = j;
double r88697 = r88689 * r88683;
double r88698 = r88691 * r88680;
double r88699 = r88697 - r88698;
double r88700 = r88696 * r88699;
double r88701 = r88695 + r88700;
return r88701;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r88702 = b;
double r88703 = -5.4076849279368656e-39;
bool r88704 = r88702 <= r88703;
double r88705 = j;
double r88706 = t;
double r88707 = c;
double r88708 = r88706 * r88707;
double r88709 = y;
double r88710 = i;
double r88711 = r88709 * r88710;
double r88712 = r88708 - r88711;
double r88713 = r88705 * r88712;
double r88714 = x;
double r88715 = z;
double r88716 = r88714 * r88715;
double r88717 = r88709 * r88716;
double r88718 = a;
double r88719 = r88714 * r88718;
double r88720 = r88706 * r88719;
double r88721 = r88717 - r88720;
double r88722 = r88713 + r88721;
double r88723 = r88718 * r88710;
double r88724 = r88707 * r88715;
double r88725 = r88723 - r88724;
double r88726 = r88725 * r88702;
double r88727 = r88722 + r88726;
double r88728 = -1.3107080331882569e-167;
bool r88729 = r88702 <= r88728;
double r88730 = -r88711;
double r88731 = r88705 * r88730;
double r88732 = r88705 * r88707;
double r88733 = r88732 * r88706;
double r88734 = r88731 + r88733;
double r88735 = r88706 * r88714;
double r88736 = r88735 * r88718;
double r88737 = r88717 - r88736;
double r88738 = r88734 + r88737;
double r88739 = r88710 * r88702;
double r88740 = r88739 * r88718;
double r88741 = r88702 * r88715;
double r88742 = r88741 * r88707;
double r88743 = r88740 - r88742;
double r88744 = r88738 + r88743;
double r88745 = -5.9391416205088385e-276;
bool r88746 = r88702 <= r88745;
double r88747 = r88709 * r88715;
double r88748 = r88714 * r88747;
double r88749 = r88748 - r88736;
double r88750 = r88749 + r88713;
double r88751 = cbrt(r88740);
double r88752 = r88751 * r88751;
double r88753 = r88751 * r88752;
double r88754 = r88753 - r88742;
double r88755 = r88750 + r88754;
double r88756 = 2.2488515135899008e-207;
bool r88757 = r88702 <= r88756;
double r88758 = 1.659927328976306e+118;
bool r88759 = r88702 <= r88758;
double r88760 = cbrt(r88718);
double r88761 = r88760 * r88760;
double r88762 = r88761 * r88714;
double r88763 = r88706 * r88762;
double r88764 = r88760 * r88763;
double r88765 = r88748 - r88764;
double r88766 = r88713 + r88765;
double r88767 = r88766 + r88743;
double r88768 = -r88710;
double r88769 = r88768 * r88705;
double r88770 = r88709 * r88769;
double r88771 = r88733 + r88770;
double r88772 = r88706 * r88718;
double r88773 = r88747 - r88772;
double r88774 = r88773 * r88714;
double r88775 = r88771 + r88774;
double r88776 = r88726 + r88775;
double r88777 = r88759 ? r88767 : r88776;
double r88778 = r88757 ? r88744 : r88777;
double r88779 = r88746 ? r88755 : r88778;
double r88780 = r88729 ? r88744 : r88779;
double r88781 = r88704 ? r88727 : r88780;
return r88781;
}



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
Results
if b < -5.4076849279368656e-39Initial program 8.0
Simplified8.0
Taylor expanded around inf 9.4
Simplified8.2
if -5.4076849279368656e-39 < b < -1.3107080331882569e-167 or -5.9391416205088385e-276 < b < 2.2488515135899008e-207Initial program 15.8
Simplified15.8
Taylor expanded around inf 10.5
Simplified10.4
Taylor expanded around inf 10.2
Simplified10.2
rmApplied sub-neg10.2
Applied distribute-lft-in10.2
Simplified10.9
Simplified10.9
rmApplied associate-*r*10.5
if -1.3107080331882569e-167 < b < -5.9391416205088385e-276Initial program 17.3
Simplified17.3
Taylor expanded around inf 10.9
Simplified11.0
Taylor expanded around inf 10.0
Simplified10.0
rmApplied add-cube-cbrt10.1
Simplified10.1
Simplified10.1
if 2.2488515135899008e-207 < b < 1.659927328976306e+118Initial program 12.9
Simplified12.9
Taylor expanded around inf 11.2
Simplified11.3
Taylor expanded around inf 11.2
Simplified11.2
rmApplied add-cube-cbrt11.4
Applied associate-*r*11.4
Simplified11.3
if 1.659927328976306e+118 < b Initial program 6.0
Simplified6.0
rmApplied sub-neg6.0
Applied distribute-lft-in6.0
Simplified6.5
Simplified6.6
Final simplification9.8
herbie shell --seed 2019194
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))