\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}\;z \le -1.327033599359954 \cdot 10^{+156}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \left(x \cdot y - c \cdot b\right) \cdot z - \left(t \cdot x\right) \cdot a\right)\\
\mathbf{elif}\;z \le 4.751027196232515 \cdot 10^{-19}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(b, i \cdot a - c \cdot z, \left(\left(y \cdot z - t \cdot a\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right) \cdot \sqrt[3]{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \left(x \cdot y - c \cdot b\right) \cdot z - \left(t \cdot x\right) \cdot a\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3650982 = x;
double r3650983 = y;
double r3650984 = z;
double r3650985 = r3650983 * r3650984;
double r3650986 = t;
double r3650987 = a;
double r3650988 = r3650986 * r3650987;
double r3650989 = r3650985 - r3650988;
double r3650990 = r3650982 * r3650989;
double r3650991 = b;
double r3650992 = c;
double r3650993 = r3650992 * r3650984;
double r3650994 = i;
double r3650995 = r3650994 * r3650987;
double r3650996 = r3650993 - r3650995;
double r3650997 = r3650991 * r3650996;
double r3650998 = r3650990 - r3650997;
double r3650999 = j;
double r3651000 = r3650992 * r3650986;
double r3651001 = r3650994 * r3650983;
double r3651002 = r3651000 - r3651001;
double r3651003 = r3650999 * r3651002;
double r3651004 = r3650998 + r3651003;
return r3651004;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3651005 = z;
double r3651006 = -1.327033599359954e+156;
bool r3651007 = r3651005 <= r3651006;
double r3651008 = t;
double r3651009 = c;
double r3651010 = r3651008 * r3651009;
double r3651011 = y;
double r3651012 = i;
double r3651013 = r3651011 * r3651012;
double r3651014 = r3651010 - r3651013;
double r3651015 = j;
double r3651016 = x;
double r3651017 = r3651016 * r3651011;
double r3651018 = b;
double r3651019 = r3651009 * r3651018;
double r3651020 = r3651017 - r3651019;
double r3651021 = r3651020 * r3651005;
double r3651022 = r3651008 * r3651016;
double r3651023 = a;
double r3651024 = r3651022 * r3651023;
double r3651025 = r3651021 - r3651024;
double r3651026 = fma(r3651014, r3651015, r3651025);
double r3651027 = 4.751027196232515e-19;
bool r3651028 = r3651005 <= r3651027;
double r3651029 = r3651012 * r3651023;
double r3651030 = r3651009 * r3651005;
double r3651031 = r3651029 - r3651030;
double r3651032 = r3651011 * r3651005;
double r3651033 = r3651008 * r3651023;
double r3651034 = r3651032 - r3651033;
double r3651035 = cbrt(r3651016);
double r3651036 = r3651035 * r3651035;
double r3651037 = r3651034 * r3651036;
double r3651038 = r3651037 * r3651035;
double r3651039 = fma(r3651018, r3651031, r3651038);
double r3651040 = fma(r3651014, r3651015, r3651039);
double r3651041 = r3651028 ? r3651040 : r3651026;
double r3651042 = r3651007 ? r3651026 : r3651041;
return r3651042;
}



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
if z < -1.327033599359954e+156 or 4.751027196232515e-19 < z Initial program 17.3
Simplified17.3
rmApplied add-cube-cbrt17.7
Applied associate-*r*17.7
Taylor expanded around inf 18.3
Simplified13.7
rmApplied associate-*l*13.1
if -1.327033599359954e+156 < z < 4.751027196232515e-19Initial program 9.9
Simplified9.9
rmApplied add-cube-cbrt10.2
Applied associate-*r*10.2
Final simplification11.0
herbie shell --seed 2019165 +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)))))