\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}\;j \le -9.133106398459372 \cdot 10^{-15}:\\
\;\;\;\;\mathsf{fma}\left(\left(i \cdot a - c \cdot z\right), b, \left(\mathsf{fma}\left(\left(t \cdot c - i \cdot y\right), j, \left(\left(x \cdot \left(\sqrt[3]{\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}} \cdot \sqrt[3]{\sqrt[3]{y \cdot z - t \cdot a}}\right)\right) \cdot \left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\right)\right)\right)\right)\\
\mathbf{elif}\;j \le 1.0565351429208981 \cdot 10^{-230}:\\
\;\;\;\;\mathsf{fma}\left(\left(i \cdot a - c \cdot z\right), b, \left(\left(z \cdot x - i \cdot j\right) \cdot y - \left(t \cdot a\right) \cdot x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\left(i \cdot a - c \cdot z\right), b, \left(\mathsf{fma}\left(\left(t \cdot c - i \cdot y\right), j, \left(\sqrt[3]{x} \cdot \left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot z - t \cdot a\right)\right)\right)\right)\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 r3243985 = x;
double r3243986 = y;
double r3243987 = z;
double r3243988 = r3243986 * r3243987;
double r3243989 = t;
double r3243990 = a;
double r3243991 = r3243989 * r3243990;
double r3243992 = r3243988 - r3243991;
double r3243993 = r3243985 * r3243992;
double r3243994 = b;
double r3243995 = c;
double r3243996 = r3243995 * r3243987;
double r3243997 = i;
double r3243998 = r3243997 * r3243990;
double r3243999 = r3243996 - r3243998;
double r3244000 = r3243994 * r3243999;
double r3244001 = r3243993 - r3244000;
double r3244002 = j;
double r3244003 = r3243995 * r3243989;
double r3244004 = r3243997 * r3243986;
double r3244005 = r3244003 - r3244004;
double r3244006 = r3244002 * r3244005;
double r3244007 = r3244001 + r3244006;
return r3244007;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3244008 = j;
double r3244009 = -9.133106398459372e-15;
bool r3244010 = r3244008 <= r3244009;
double r3244011 = i;
double r3244012 = a;
double r3244013 = r3244011 * r3244012;
double r3244014 = c;
double r3244015 = z;
double r3244016 = r3244014 * r3244015;
double r3244017 = r3244013 - r3244016;
double r3244018 = b;
double r3244019 = t;
double r3244020 = r3244019 * r3244014;
double r3244021 = y;
double r3244022 = r3244011 * r3244021;
double r3244023 = r3244020 - r3244022;
double r3244024 = x;
double r3244025 = r3244021 * r3244015;
double r3244026 = r3244019 * r3244012;
double r3244027 = r3244025 - r3244026;
double r3244028 = cbrt(r3244027);
double r3244029 = r3244028 * r3244028;
double r3244030 = cbrt(r3244029);
double r3244031 = cbrt(r3244028);
double r3244032 = r3244030 * r3244031;
double r3244033 = r3244024 * r3244032;
double r3244034 = r3244033 * r3244029;
double r3244035 = fma(r3244023, r3244008, r3244034);
double r3244036 = fma(r3244017, r3244018, r3244035);
double r3244037 = 1.0565351429208981e-230;
bool r3244038 = r3244008 <= r3244037;
double r3244039 = r3244015 * r3244024;
double r3244040 = r3244011 * r3244008;
double r3244041 = r3244039 - r3244040;
double r3244042 = r3244041 * r3244021;
double r3244043 = r3244026 * r3244024;
double r3244044 = r3244042 - r3244043;
double r3244045 = fma(r3244017, r3244018, r3244044);
double r3244046 = cbrt(r3244024);
double r3244047 = r3244046 * r3244046;
double r3244048 = r3244047 * r3244027;
double r3244049 = r3244046 * r3244048;
double r3244050 = fma(r3244023, r3244008, r3244049);
double r3244051 = fma(r3244017, r3244018, r3244050);
double r3244052 = r3244038 ? r3244045 : r3244051;
double r3244053 = r3244010 ? r3244036 : r3244052;
return r3244053;
}



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 j < -9.133106398459372e-15Initial program 7.6
Simplified7.6
rmApplied add-cube-cbrt7.8
Applied associate-*l*7.8
rmApplied add-cube-cbrt7.8
Applied cbrt-prod7.8
if -9.133106398459372e-15 < j < 1.0565351429208981e-230Initial program 15.0
Simplified15.0
rmApplied add-cube-cbrt15.4
Applied associate-*r*15.4
Taylor expanded around -inf 14.3
Simplified13.7
if 1.0565351429208981e-230 < j Initial program 10.2
Simplified10.2
rmApplied add-cube-cbrt10.5
Applied associate-*r*10.5
Final simplification11.1
herbie shell --seed 2019129 +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)))))