\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 -5.80326359791015632964819365758088171029 \cdot 10^{70} \lor \neg \left(j \le 4.463308820438120290570369630487564696852 \cdot 10^{-42}\right):\\
\;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + \left(-a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)} \cdot \sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)}\right) \cdot \sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)} - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(j \cdot y\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 r92033 = x;
double r92034 = y;
double r92035 = z;
double r92036 = r92034 * r92035;
double r92037 = t;
double r92038 = a;
double r92039 = r92037 * r92038;
double r92040 = r92036 - r92039;
double r92041 = r92033 * r92040;
double r92042 = b;
double r92043 = c;
double r92044 = r92043 * r92035;
double r92045 = i;
double r92046 = r92045 * r92038;
double r92047 = r92044 - r92046;
double r92048 = r92042 * r92047;
double r92049 = r92041 - r92048;
double r92050 = j;
double r92051 = r92043 * r92037;
double r92052 = r92045 * r92034;
double r92053 = r92051 - r92052;
double r92054 = r92050 * r92053;
double r92055 = r92049 + r92054;
return r92055;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r92056 = j;
double r92057 = -5.803263597910156e+70;
bool r92058 = r92056 <= r92057;
double r92059 = 4.46330882043812e-42;
bool r92060 = r92056 <= r92059;
double r92061 = !r92060;
bool r92062 = r92058 || r92061;
double r92063 = x;
double r92064 = y;
double r92065 = z;
double r92066 = r92064 * r92065;
double r92067 = r92063 * r92066;
double r92068 = a;
double r92069 = t;
double r92070 = r92063 * r92069;
double r92071 = r92068 * r92070;
double r92072 = -r92071;
double r92073 = r92067 + r92072;
double r92074 = b;
double r92075 = c;
double r92076 = r92075 * r92065;
double r92077 = i;
double r92078 = r92077 * r92068;
double r92079 = r92076 - r92078;
double r92080 = r92074 * r92079;
double r92081 = r92073 - r92080;
double r92082 = r92075 * r92069;
double r92083 = r92077 * r92064;
double r92084 = r92082 - r92083;
double r92085 = r92056 * r92084;
double r92086 = r92081 + r92085;
double r92087 = r92069 * r92068;
double r92088 = r92066 - r92087;
double r92089 = r92063 * r92088;
double r92090 = cbrt(r92089);
double r92091 = r92090 * r92090;
double r92092 = r92091 * r92090;
double r92093 = r92092 - r92080;
double r92094 = r92056 * r92075;
double r92095 = r92069 * r92094;
double r92096 = r92056 * r92064;
double r92097 = r92077 * r92096;
double r92098 = -r92097;
double r92099 = r92095 + r92098;
double r92100 = r92093 + r92099;
double r92101 = r92062 ? r92086 : r92100;
return r92101;
}



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 j < -5.803263597910156e+70 or 4.46330882043812e-42 < j Initial program 7.1
rmApplied sub-neg7.1
Applied distribute-lft-in7.1
Simplified7.6
if -5.803263597910156e+70 < j < 4.46330882043812e-42Initial program 14.3
rmApplied add-cube-cbrt14.7
rmApplied sub-neg14.7
Applied distribute-lft-in14.7
Simplified12.5
Simplified10.1
Final simplification9.1
herbie shell --seed 2019209
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))