\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}\;t \le -1.8132182994707265 \cdot 10^{172}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(z \cdot b\right) \cdot c + i \cdot \left(\left(-a\right) \cdot b\right)\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\
\mathbf{elif}\;t \le -4.3441848100341449 \cdot 10^{-82}:\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right) - \left(\left(z \cdot b\right) \cdot c + i \cdot \left(\left(-a\right) \cdot b\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;t \le -2.0482729984780924 \cdot 10^{-118}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(z \cdot b\right) \cdot c + i \cdot \left(\left(-a\right) \cdot b\right)\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\
\mathbf{elif}\;t \le -3.4045282169254156 \cdot 10^{-188}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(-a \cdot \left(i \cdot b\right)\right) + z \cdot \left(b \cdot c\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;t \le 8.3618244494638386 \cdot 10^{21}:\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right) - \left(\left(z \cdot b\right) \cdot c + i \cdot \left(\left(-a\right) \cdot b\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(z \cdot b\right) \cdot c + i \cdot \left(\left(-a\right) \cdot b\right)\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\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 r82785 = x;
double r82786 = y;
double r82787 = z;
double r82788 = r82786 * r82787;
double r82789 = t;
double r82790 = a;
double r82791 = r82789 * r82790;
double r82792 = r82788 - r82791;
double r82793 = r82785 * r82792;
double r82794 = b;
double r82795 = c;
double r82796 = r82795 * r82787;
double r82797 = i;
double r82798 = r82797 * r82790;
double r82799 = r82796 - r82798;
double r82800 = r82794 * r82799;
double r82801 = r82793 - r82800;
double r82802 = j;
double r82803 = r82795 * r82789;
double r82804 = r82797 * r82786;
double r82805 = r82803 - r82804;
double r82806 = r82802 * r82805;
double r82807 = r82801 + r82806;
return r82807;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r82808 = t;
double r82809 = -1.8132182994707265e+172;
bool r82810 = r82808 <= r82809;
double r82811 = x;
double r82812 = y;
double r82813 = z;
double r82814 = r82812 * r82813;
double r82815 = a;
double r82816 = r82808 * r82815;
double r82817 = r82814 - r82816;
double r82818 = r82811 * r82817;
double r82819 = b;
double r82820 = r82813 * r82819;
double r82821 = c;
double r82822 = r82820 * r82821;
double r82823 = i;
double r82824 = -r82815;
double r82825 = r82824 * r82819;
double r82826 = r82823 * r82825;
double r82827 = r82822 + r82826;
double r82828 = r82818 - r82827;
double r82829 = j;
double r82830 = r82829 * r82821;
double r82831 = r82808 * r82830;
double r82832 = r82829 * r82812;
double r82833 = r82823 * r82832;
double r82834 = r82831 - r82833;
double r82835 = r82828 + r82834;
double r82836 = -4.344184810034145e-82;
bool r82837 = r82808 <= r82836;
double r82838 = r82813 * r82812;
double r82839 = r82811 * r82838;
double r82840 = r82811 * r82808;
double r82841 = r82815 * r82840;
double r82842 = r82839 - r82841;
double r82843 = r82842 - r82827;
double r82844 = r82821 * r82808;
double r82845 = r82823 * r82812;
double r82846 = r82844 - r82845;
double r82847 = r82829 * r82846;
double r82848 = r82843 + r82847;
double r82849 = -2.0482729984780924e-118;
bool r82850 = r82808 <= r82849;
double r82851 = -3.4045282169254156e-188;
bool r82852 = r82808 <= r82851;
double r82853 = r82823 * r82819;
double r82854 = r82815 * r82853;
double r82855 = -r82854;
double r82856 = r82819 * r82821;
double r82857 = r82813 * r82856;
double r82858 = r82855 + r82857;
double r82859 = r82818 - r82858;
double r82860 = r82859 + r82847;
double r82861 = 8.361824449463839e+21;
bool r82862 = r82808 <= r82861;
double r82863 = r82862 ? r82848 : r82835;
double r82864 = r82852 ? r82860 : r82863;
double r82865 = r82850 ? r82835 : r82864;
double r82866 = r82837 ? r82848 : r82865;
double r82867 = r82810 ? r82835 : r82866;
return r82867;
}



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 t < -1.8132182994707265e+172 or -4.344184810034145e-82 < t < -2.0482729984780924e-118 or 8.361824449463839e+21 < t Initial program 18.0
rmApplied sub-neg18.0
Applied distribute-lft-in18.0
Simplified18.2
Simplified18.2
rmApplied distribute-rgt-neg-in18.2
Applied associate-*l*18.2
rmApplied associate-*r*19.3
Taylor expanded around inf 14.0
if -1.8132182994707265e+172 < t < -4.344184810034145e-82 or -3.4045282169254156e-188 < t < 8.361824449463839e+21Initial program 9.7
rmApplied sub-neg9.7
Applied distribute-lft-in9.7
Simplified10.2
Simplified10.2
rmApplied distribute-rgt-neg-in10.2
Applied associate-*l*10.0
rmApplied associate-*r*9.5
Taylor expanded around inf 9.6
if -2.0482729984780924e-118 < t < -3.4045282169254156e-188Initial program 8.6
rmApplied sub-neg8.6
Applied distribute-lft-in8.6
Simplified8.7
Simplified8.7
rmApplied distribute-rgt-neg-in8.7
Applied associate-*l*8.8
rmApplied pow18.8
Applied pow18.8
Applied pow-prod-down8.8
Applied pow18.8
Applied pow-prod-down8.8
Simplified7.9
Final simplification10.7
herbie shell --seed 2019199 +o rules:numerics
(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)))))