\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}\;c \le -1.911661663231193133152425417101608962071 \cdot 10^{-99}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(\left(\sqrt[3]{c} \cdot \sqrt[3]{c}\right) \cdot \left(t \cdot j\right)\right) \cdot \sqrt[3]{c} + \left(-i \cdot \left(y \cdot j\right)\right)\right)\\
\mathbf{elif}\;c \le 3.281737004707663056029424521453613958063 \cdot 10^{145}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)} \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;c \le 2.662534141559160429989964984960950739743 \cdot 10^{222}:\\
\;\;\;\;\left(\left(t \cdot j\right) \cdot c + \left(-i \cdot \left(y \cdot j\right)\right)\right) + \left(-b \cdot \left(c \cdot z - i \cdot a\right)\right)\\
\mathbf{elif}\;c \le 4.731713770906781313248457864535070930729 \cdot 10^{243}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(-i \cdot a\right) \cdot b\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(y \cdot j\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(t \cdot j\right) \cdot c + \left(-\sqrt[3]{{\left(i \cdot \left(y \cdot j\right)\right)}^{3}}\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 r96867 = x;
double r96868 = y;
double r96869 = z;
double r96870 = r96868 * r96869;
double r96871 = t;
double r96872 = a;
double r96873 = r96871 * r96872;
double r96874 = r96870 - r96873;
double r96875 = r96867 * r96874;
double r96876 = b;
double r96877 = c;
double r96878 = r96877 * r96869;
double r96879 = i;
double r96880 = r96879 * r96872;
double r96881 = r96878 - r96880;
double r96882 = r96876 * r96881;
double r96883 = r96875 - r96882;
double r96884 = j;
double r96885 = r96877 * r96871;
double r96886 = r96879 * r96868;
double r96887 = r96885 - r96886;
double r96888 = r96884 * r96887;
double r96889 = r96883 + r96888;
return r96889;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r96890 = c;
double r96891 = -1.911661663231193e-99;
bool r96892 = r96890 <= r96891;
double r96893 = x;
double r96894 = y;
double r96895 = z;
double r96896 = r96894 * r96895;
double r96897 = t;
double r96898 = a;
double r96899 = r96897 * r96898;
double r96900 = r96896 - r96899;
double r96901 = r96893 * r96900;
double r96902 = b;
double r96903 = r96890 * r96895;
double r96904 = i;
double r96905 = r96904 * r96898;
double r96906 = r96903 - r96905;
double r96907 = r96902 * r96906;
double r96908 = r96901 - r96907;
double r96909 = cbrt(r96890);
double r96910 = r96909 * r96909;
double r96911 = j;
double r96912 = r96897 * r96911;
double r96913 = r96910 * r96912;
double r96914 = r96913 * r96909;
double r96915 = r96894 * r96911;
double r96916 = r96904 * r96915;
double r96917 = -r96916;
double r96918 = r96914 + r96917;
double r96919 = r96908 + r96918;
double r96920 = 3.281737004707663e+145;
bool r96921 = r96890 <= r96920;
double r96922 = cbrt(r96907);
double r96923 = r96922 * r96922;
double r96924 = r96923 * r96922;
double r96925 = r96901 - r96924;
double r96926 = r96890 * r96897;
double r96927 = r96904 * r96894;
double r96928 = r96926 - r96927;
double r96929 = r96911 * r96928;
double r96930 = r96925 + r96929;
double r96931 = 2.6625341415591604e+222;
bool r96932 = r96890 <= r96931;
double r96933 = r96912 * r96890;
double r96934 = r96933 + r96917;
double r96935 = -r96907;
double r96936 = r96934 + r96935;
double r96937 = 4.731713770906781e+243;
bool r96938 = r96890 <= r96937;
double r96939 = r96902 * r96890;
double r96940 = r96895 * r96939;
double r96941 = -r96905;
double r96942 = r96941 * r96902;
double r96943 = r96940 + r96942;
double r96944 = r96901 - r96943;
double r96945 = r96911 * r96890;
double r96946 = r96897 * r96945;
double r96947 = r96946 + r96917;
double r96948 = r96944 + r96947;
double r96949 = 3.0;
double r96950 = pow(r96916, r96949);
double r96951 = cbrt(r96950);
double r96952 = -r96951;
double r96953 = r96933 + r96952;
double r96954 = r96908 + r96953;
double r96955 = r96938 ? r96948 : r96954;
double r96956 = r96932 ? r96936 : r96955;
double r96957 = r96921 ? r96930 : r96956;
double r96958 = r96892 ? r96919 : r96957;
return r96958;
}



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 c < -1.911661663231193e-99Initial program 13.5
rmApplied sub-neg13.5
Applied distribute-lft-in13.5
Simplified13.9
rmApplied distribute-rgt-neg-out13.9
Simplified13.4
rmApplied associate-*r*11.8
rmApplied add-cube-cbrt12.0
Applied associate-*r*12.0
Simplified12.0
if -1.911661663231193e-99 < c < 3.281737004707663e+145Initial program 9.3
rmApplied add-cube-cbrt9.6
if 3.281737004707663e+145 < c < 2.6625341415591604e+222Initial program 21.8
rmApplied sub-neg21.8
Applied distribute-lft-in21.8
Simplified24.7
rmApplied distribute-rgt-neg-out24.7
Simplified22.8
rmApplied associate-*r*15.2
Taylor expanded around 0 23.6
if 2.6625341415591604e+222 < c < 4.731713770906781e+243Initial program 26.1
rmApplied sub-neg26.1
Applied distribute-lft-in26.1
Simplified22.1
rmApplied distribute-rgt-neg-out22.1
Simplified20.5
rmApplied sub-neg20.5
Applied distribute-lft-in20.5
Simplified18.8
Simplified18.8
if 4.731713770906781e+243 < c Initial program 21.6
rmApplied sub-neg21.6
Applied distribute-lft-in21.6
Simplified24.4
rmApplied distribute-rgt-neg-out24.4
Simplified22.3
rmApplied associate-*r*13.6
rmApplied add-cbrt-cube19.6
Applied add-cbrt-cube32.0
Applied cbrt-unprod32.5
Applied add-cbrt-cube40.1
Applied cbrt-unprod40.5
Simplified19.1
Final simplification11.3
herbie shell --seed 2019209 +o rules:numerics
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))