\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}\;x \le -1.3908394767462318 \cdot 10^{-09}:\\
\;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(\left(y \cdot z - a \cdot t\right) \cdot x - \sqrt[3]{z \cdot c - i \cdot a} \cdot \left(b \cdot \left(\sqrt[3]{z \cdot c - i \cdot a} \cdot \sqrt[3]{z \cdot c - i \cdot a}\right)\right)\right)\\
\mathbf{elif}\;x \le -1.1954740575885239 \cdot 10^{-185}:\\
\;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(\left(x \cdot \left(y \cdot z\right) - \left(x \cdot t\right) \cdot a\right) - \left(\left(i \cdot b\right) \cdot \left(-a\right) + \left(b \cdot z\right) \cdot c\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(\left(\left(z \cdot x\right) \cdot y - \left(x \cdot t\right) \cdot a\right) - b \cdot \left(z \cdot c - 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 r5320038 = x;
double r5320039 = y;
double r5320040 = z;
double r5320041 = r5320039 * r5320040;
double r5320042 = t;
double r5320043 = a;
double r5320044 = r5320042 * r5320043;
double r5320045 = r5320041 - r5320044;
double r5320046 = r5320038 * r5320045;
double r5320047 = b;
double r5320048 = c;
double r5320049 = r5320048 * r5320040;
double r5320050 = i;
double r5320051 = r5320050 * r5320043;
double r5320052 = r5320049 - r5320051;
double r5320053 = r5320047 * r5320052;
double r5320054 = r5320046 - r5320053;
double r5320055 = j;
double r5320056 = r5320048 * r5320042;
double r5320057 = r5320050 * r5320039;
double r5320058 = r5320056 - r5320057;
double r5320059 = r5320055 * r5320058;
double r5320060 = r5320054 + r5320059;
return r5320060;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r5320061 = x;
double r5320062 = -1.3908394767462318e-09;
bool r5320063 = r5320061 <= r5320062;
double r5320064 = c;
double r5320065 = t;
double r5320066 = r5320064 * r5320065;
double r5320067 = i;
double r5320068 = y;
double r5320069 = r5320067 * r5320068;
double r5320070 = r5320066 - r5320069;
double r5320071 = j;
double r5320072 = r5320070 * r5320071;
double r5320073 = z;
double r5320074 = r5320068 * r5320073;
double r5320075 = a;
double r5320076 = r5320075 * r5320065;
double r5320077 = r5320074 - r5320076;
double r5320078 = r5320077 * r5320061;
double r5320079 = r5320073 * r5320064;
double r5320080 = r5320067 * r5320075;
double r5320081 = r5320079 - r5320080;
double r5320082 = cbrt(r5320081);
double r5320083 = b;
double r5320084 = r5320082 * r5320082;
double r5320085 = r5320083 * r5320084;
double r5320086 = r5320082 * r5320085;
double r5320087 = r5320078 - r5320086;
double r5320088 = r5320072 + r5320087;
double r5320089 = -1.1954740575885239e-185;
bool r5320090 = r5320061 <= r5320089;
double r5320091 = r5320061 * r5320074;
double r5320092 = r5320061 * r5320065;
double r5320093 = r5320092 * r5320075;
double r5320094 = r5320091 - r5320093;
double r5320095 = r5320067 * r5320083;
double r5320096 = -r5320075;
double r5320097 = r5320095 * r5320096;
double r5320098 = r5320083 * r5320073;
double r5320099 = r5320098 * r5320064;
double r5320100 = r5320097 + r5320099;
double r5320101 = r5320094 - r5320100;
double r5320102 = r5320072 + r5320101;
double r5320103 = r5320073 * r5320061;
double r5320104 = r5320103 * r5320068;
double r5320105 = r5320104 - r5320093;
double r5320106 = r5320083 * r5320081;
double r5320107 = r5320105 - r5320106;
double r5320108 = r5320072 + r5320107;
double r5320109 = r5320090 ? r5320102 : r5320108;
double r5320110 = r5320063 ? r5320088 : r5320109;
return r5320110;
}



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 x < -1.3908394767462318e-09Initial program 7.6
rmApplied add-cube-cbrt7.8
Applied associate-*r*7.8
if -1.3908394767462318e-09 < x < -1.1954740575885239e-185Initial program 14.8
rmApplied add-cube-cbrt15.1
Applied associate-*l*15.1
Taylor expanded around inf 12.8
rmApplied sub-neg12.8
Applied distribute-lft-in12.8
Applied distribute-lft-in12.8
Simplified13.3
Simplified11.9
if -1.1954740575885239e-185 < x Initial program 13.9
rmApplied add-cube-cbrt14.2
Applied associate-*l*14.2
Taylor expanded around inf 13.8
rmApplied associate-*r*13.0
Taylor expanded around inf 12.7
Simplified12.7
Final simplification11.6
herbie shell --seed 2019165
(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)))))