\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 -4.400785168655679605773741836481995189038 \cdot 10^{-141}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right) \cdot \left(\sqrt[3]{b} \cdot \left(c \cdot z - i \cdot a\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;b \le -5.616902006401816366798818804296717843031 \cdot 10^{-291}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - 0\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 \left(\left(\sqrt[3]{\sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)}} \cdot \sqrt[3]{\sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)}}\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r126086 = x;
double r126087 = y;
double r126088 = z;
double r126089 = r126087 * r126088;
double r126090 = t;
double r126091 = a;
double r126092 = r126090 * r126091;
double r126093 = r126089 - r126092;
double r126094 = r126086 * r126093;
double r126095 = b;
double r126096 = c;
double r126097 = r126096 * r126088;
double r126098 = i;
double r126099 = r126098 * r126091;
double r126100 = r126097 - r126099;
double r126101 = r126095 * r126100;
double r126102 = r126094 - r126101;
double r126103 = j;
double r126104 = r126096 * r126090;
double r126105 = r126098 * r126087;
double r126106 = r126104 - r126105;
double r126107 = r126103 * r126106;
double r126108 = r126102 + r126107;
return r126108;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r126109 = b;
double r126110 = -4.4007851686556796e-141;
bool r126111 = r126109 <= r126110;
double r126112 = x;
double r126113 = y;
double r126114 = z;
double r126115 = r126113 * r126114;
double r126116 = t;
double r126117 = a;
double r126118 = r126116 * r126117;
double r126119 = r126115 - r126118;
double r126120 = r126112 * r126119;
double r126121 = cbrt(r126109);
double r126122 = r126121 * r126121;
double r126123 = c;
double r126124 = r126123 * r126114;
double r126125 = i;
double r126126 = r126125 * r126117;
double r126127 = r126124 - r126126;
double r126128 = r126121 * r126127;
double r126129 = r126122 * r126128;
double r126130 = r126120 - r126129;
double r126131 = j;
double r126132 = r126123 * r126116;
double r126133 = r126125 * r126113;
double r126134 = r126132 - r126133;
double r126135 = r126131 * r126134;
double r126136 = r126130 + r126135;
double r126137 = -5.6169020064018164e-291;
bool r126138 = r126109 <= r126137;
double r126139 = 0.0;
double r126140 = r126120 - r126139;
double r126141 = r126140 + r126135;
double r126142 = cbrt(r126120);
double r126143 = r126142 * r126142;
double r126144 = cbrt(r126142);
double r126145 = r126144 * r126144;
double r126146 = r126145 * r126144;
double r126147 = r126143 * r126146;
double r126148 = r126109 * r126127;
double r126149 = r126147 - r126148;
double r126150 = r126149 + r126135;
double r126151 = r126138 ? r126141 : r126150;
double r126152 = r126111 ? r126136 : r126151;
return r126152;
}



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 < -4.4007851686556796e-141Initial program 9.8
rmApplied add-cube-cbrt10.2
Applied associate-*l*10.2
if -4.4007851686556796e-141 < b < -5.6169020064018164e-291Initial program 18.3
Taylor expanded around 0 20.1
if -5.6169020064018164e-291 < b Initial program 12.7
rmApplied add-cube-cbrt13.0
rmApplied add-cube-cbrt13.1
Final simplification13.2
herbie shell --seed 2019362
(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)))))