\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}\;y \le -2.172860284485528595047591965528966099206 \cdot 10^{-300}:\\
\;\;\;\;\left(\left(z \cdot y - t \cdot a\right) \cdot x - \left(z \cdot \left(c \cdot b\right) + \left(\left(-b\right) \cdot i\right) \cdot a\right)\right) + j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{elif}\;y \le 2.083254038277545593791520267293058213879 \cdot 10^{-77}:\\
\;\;\;\;\left(\left(z \cdot y - t \cdot a\right) \cdot x - \left(c \cdot \left(b \cdot z\right) + \left(-b\right) \cdot \left(i \cdot a\right)\right)\right) + j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{elif}\;y \le 1.940099898116223542085668982122560115368 \cdot 10^{81}:\\
\;\;\;\;\left(\left(z \cdot y - t \cdot a\right) \cdot x - \left(i \cdot \left(\left(-a\right) \cdot b\right) + z \cdot \left(c \cdot b\right)\right)\right) + \left(\left(t \cdot c\right) \cdot j + j \cdot \left(-y \cdot i\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + \left(\left(-z \cdot \left(c \cdot b\right)\right) + b \cdot \left(i \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 r5018903 = x;
double r5018904 = y;
double r5018905 = z;
double r5018906 = r5018904 * r5018905;
double r5018907 = t;
double r5018908 = a;
double r5018909 = r5018907 * r5018908;
double r5018910 = r5018906 - r5018909;
double r5018911 = r5018903 * r5018910;
double r5018912 = b;
double r5018913 = c;
double r5018914 = r5018913 * r5018905;
double r5018915 = i;
double r5018916 = r5018915 * r5018908;
double r5018917 = r5018914 - r5018916;
double r5018918 = r5018912 * r5018917;
double r5018919 = r5018911 - r5018918;
double r5018920 = j;
double r5018921 = r5018913 * r5018907;
double r5018922 = r5018915 * r5018904;
double r5018923 = r5018921 - r5018922;
double r5018924 = r5018920 * r5018923;
double r5018925 = r5018919 + r5018924;
return r5018925;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r5018926 = y;
double r5018927 = -2.1728602844855286e-300;
bool r5018928 = r5018926 <= r5018927;
double r5018929 = z;
double r5018930 = r5018929 * r5018926;
double r5018931 = t;
double r5018932 = a;
double r5018933 = r5018931 * r5018932;
double r5018934 = r5018930 - r5018933;
double r5018935 = x;
double r5018936 = r5018934 * r5018935;
double r5018937 = c;
double r5018938 = b;
double r5018939 = r5018937 * r5018938;
double r5018940 = r5018929 * r5018939;
double r5018941 = -r5018938;
double r5018942 = i;
double r5018943 = r5018941 * r5018942;
double r5018944 = r5018943 * r5018932;
double r5018945 = r5018940 + r5018944;
double r5018946 = r5018936 - r5018945;
double r5018947 = j;
double r5018948 = r5018931 * r5018937;
double r5018949 = r5018926 * r5018942;
double r5018950 = r5018948 - r5018949;
double r5018951 = r5018947 * r5018950;
double r5018952 = r5018946 + r5018951;
double r5018953 = 2.0832540382775456e-77;
bool r5018954 = r5018926 <= r5018953;
double r5018955 = r5018938 * r5018929;
double r5018956 = r5018937 * r5018955;
double r5018957 = r5018942 * r5018932;
double r5018958 = r5018941 * r5018957;
double r5018959 = r5018956 + r5018958;
double r5018960 = r5018936 - r5018959;
double r5018961 = r5018960 + r5018951;
double r5018962 = 1.9400998981162235e+81;
bool r5018963 = r5018926 <= r5018962;
double r5018964 = -r5018932;
double r5018965 = r5018964 * r5018938;
double r5018966 = r5018942 * r5018965;
double r5018967 = r5018966 + r5018940;
double r5018968 = r5018936 - r5018967;
double r5018969 = r5018948 * r5018947;
double r5018970 = -r5018949;
double r5018971 = r5018947 * r5018970;
double r5018972 = r5018969 + r5018971;
double r5018973 = r5018968 + r5018972;
double r5018974 = -r5018940;
double r5018975 = r5018938 * r5018957;
double r5018976 = r5018974 + r5018975;
double r5018977 = r5018951 + r5018976;
double r5018978 = r5018963 ? r5018973 : r5018977;
double r5018979 = r5018954 ? r5018961 : r5018978;
double r5018980 = r5018928 ? r5018952 : r5018979;
return r5018980;
}



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 y < -2.1728602844855286e-300Initial program 12.6
rmApplied sub-neg12.6
Applied distribute-lft-in12.6
Taylor expanded around inf 13.2
rmApplied distribute-rgt-neg-in13.2
Applied associate-*r*13.0
if -2.1728602844855286e-300 < y < 2.0832540382775456e-77Initial program 9.1
rmApplied sub-neg9.1
Applied distribute-lft-in9.1
Taylor expanded around inf 8.8
rmApplied associate-*r*10.0
if 2.0832540382775456e-77 < y < 1.9400998981162235e+81Initial program 9.0
rmApplied sub-neg9.0
Applied distribute-lft-in9.0
Taylor expanded around inf 9.1
Taylor expanded around inf 9.7
Simplified9.9
rmApplied sub-neg9.9
Applied distribute-rgt-in9.9
if 1.9400998981162235e+81 < y Initial program 19.5
rmApplied sub-neg19.5
Applied distribute-lft-in19.5
Taylor expanded around inf 21.0
Taylor expanded around 0 35.6
Final simplification14.8
herbie shell --seed 2019200
(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)))))