\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 -1.3842397113622038 \cdot 10^{-144}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right)\right)\\
\mathbf{elif}\;b \le 3.0720333319504547 \cdot 10^{-215}:\\
\;\;\;\;\left(y \cdot z - t \cdot a\right) \cdot x + \left(c \cdot t - i \cdot y\right) \cdot j\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\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 r10085884 = x;
double r10085885 = y;
double r10085886 = z;
double r10085887 = r10085885 * r10085886;
double r10085888 = t;
double r10085889 = a;
double r10085890 = r10085888 * r10085889;
double r10085891 = r10085887 - r10085890;
double r10085892 = r10085884 * r10085891;
double r10085893 = b;
double r10085894 = c;
double r10085895 = r10085894 * r10085886;
double r10085896 = i;
double r10085897 = r10085896 * r10085889;
double r10085898 = r10085895 - r10085897;
double r10085899 = r10085893 * r10085898;
double r10085900 = r10085892 - r10085899;
double r10085901 = j;
double r10085902 = r10085894 * r10085888;
double r10085903 = r10085896 * r10085885;
double r10085904 = r10085902 - r10085903;
double r10085905 = r10085901 * r10085904;
double r10085906 = r10085900 + r10085905;
return r10085906;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r10085907 = b;
double r10085908 = -1.3842397113622038e-144;
bool r10085909 = r10085907 <= r10085908;
double r10085910 = y;
double r10085911 = z;
double r10085912 = r10085910 * r10085911;
double r10085913 = t;
double r10085914 = a;
double r10085915 = r10085913 * r10085914;
double r10085916 = r10085912 - r10085915;
double r10085917 = x;
double r10085918 = r10085916 * r10085917;
double r10085919 = c;
double r10085920 = r10085919 * r10085911;
double r10085921 = i;
double r10085922 = r10085921 * r10085914;
double r10085923 = r10085920 - r10085922;
double r10085924 = r10085907 * r10085923;
double r10085925 = r10085918 - r10085924;
double r10085926 = j;
double r10085927 = r10085921 * r10085926;
double r10085928 = r10085910 * r10085927;
double r10085929 = -r10085928;
double r10085930 = r10085919 * r10085913;
double r10085931 = cbrt(r10085926);
double r10085932 = r10085930 * r10085931;
double r10085933 = r10085931 * r10085931;
double r10085934 = r10085932 * r10085933;
double r10085935 = r10085929 + r10085934;
double r10085936 = r10085925 + r10085935;
double r10085937 = 3.0720333319504547e-215;
bool r10085938 = r10085907 <= r10085937;
double r10085939 = r10085921 * r10085910;
double r10085940 = r10085930 - r10085939;
double r10085941 = r10085940 * r10085926;
double r10085942 = r10085918 + r10085941;
double r10085943 = r10085938 ? r10085942 : r10085936;
double r10085944 = r10085909 ? r10085936 : r10085943;
return r10085944;
}



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 < -1.3842397113622038e-144 or 3.0720333319504547e-215 < b Initial program 10.0
rmApplied add-cube-cbrt10.3
Applied associate-*l*10.3
rmApplied sub-neg10.3
Applied distribute-rgt-in10.3
Applied distribute-lft-in10.3
Simplified10.2
if -1.3842397113622038e-144 < b < 3.0720333319504547e-215Initial program 15.7
Taylor expanded around 0 15.4
Final simplification11.6
herbie shell --seed 2019119
(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)))))