\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 -4053319781872422142178495508913324032:\\
\;\;\;\;\left(c \cdot \left(t \cdot j\right) + \left(-\sqrt[3]{y}\right) \cdot \left(\sqrt[3]{\left(i \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot j} \cdot \left(\sqrt[3]{\left(i \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot j} \cdot \sqrt[3]{\left(i \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot j}\right)\right)\right) + \left(\mathsf{fma}\left(a \cdot x, -t, x \cdot \left(y \cdot z\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right)\\
\mathbf{elif}\;b \le -8.403626242362648477213397681914174771732 \cdot 10^{-198}:\\
\;\;\;\;\left(\left(y \cdot z - a \cdot t\right) \cdot x - \left(b \cdot \left(c \cdot z\right) + \left(-a\right) \cdot \left(i \cdot b\right)\right)\right) + \left(c \cdot t - y \cdot i\right) \cdot j\\
\mathbf{elif}\;b \le -4.687249819554670663506382100649210607577 \cdot 10^{-238}:\\
\;\;\;\;\left(y \cdot \left(i \cdot \left(-j\right)\right) + c \cdot \left(t \cdot j\right)\right) + \left(y \cdot z - a \cdot t\right) \cdot x\\
\mathbf{elif}\;b \le 2.880247879572147946040031720732651251947 \cdot 10^{-95}:\\
\;\;\;\;\left(c \cdot \left(t \cdot j\right) + \left(\left(i \cdot j\right) \cdot \left(\sqrt[3]{y} \cdot \left(-\sqrt[3]{y}\right)\right)\right) \cdot \sqrt[3]{y}\right) + \left(\mathsf{fma}\left(a \cdot x, -t, x \cdot \left(y \cdot z\right)\right) - \left(c \cdot \left(b \cdot z\right) + \left(-i\right) \cdot \left(a \cdot b\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(y \cdot \left(x \cdot z\right) + \left(a \cdot \left(-t\right)\right) \cdot x\right) - b \cdot \left(c \cdot z - 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 r86094 = x;
double r86095 = y;
double r86096 = z;
double r86097 = r86095 * r86096;
double r86098 = t;
double r86099 = a;
double r86100 = r86098 * r86099;
double r86101 = r86097 - r86100;
double r86102 = r86094 * r86101;
double r86103 = b;
double r86104 = c;
double r86105 = r86104 * r86096;
double r86106 = i;
double r86107 = r86106 * r86099;
double r86108 = r86105 - r86107;
double r86109 = r86103 * r86108;
double r86110 = r86102 - r86109;
double r86111 = j;
double r86112 = r86104 * r86098;
double r86113 = r86106 * r86095;
double r86114 = r86112 - r86113;
double r86115 = r86111 * r86114;
double r86116 = r86110 + r86115;
return r86116;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r86117 = b;
double r86118 = -4.053319781872422e+36;
bool r86119 = r86117 <= r86118;
double r86120 = c;
double r86121 = t;
double r86122 = j;
double r86123 = r86121 * r86122;
double r86124 = r86120 * r86123;
double r86125 = y;
double r86126 = cbrt(r86125);
double r86127 = -r86126;
double r86128 = i;
double r86129 = r86126 * r86126;
double r86130 = r86128 * r86129;
double r86131 = r86130 * r86122;
double r86132 = cbrt(r86131);
double r86133 = r86132 * r86132;
double r86134 = r86132 * r86133;
double r86135 = r86127 * r86134;
double r86136 = r86124 + r86135;
double r86137 = a;
double r86138 = x;
double r86139 = r86137 * r86138;
double r86140 = -r86121;
double r86141 = z;
double r86142 = r86125 * r86141;
double r86143 = r86138 * r86142;
double r86144 = fma(r86139, r86140, r86143);
double r86145 = r86120 * r86141;
double r86146 = r86128 * r86137;
double r86147 = r86145 - r86146;
double r86148 = r86117 * r86147;
double r86149 = r86144 - r86148;
double r86150 = r86136 + r86149;
double r86151 = -8.403626242362648e-198;
bool r86152 = r86117 <= r86151;
double r86153 = r86137 * r86121;
double r86154 = r86142 - r86153;
double r86155 = r86154 * r86138;
double r86156 = r86117 * r86145;
double r86157 = -r86137;
double r86158 = r86128 * r86117;
double r86159 = r86157 * r86158;
double r86160 = r86156 + r86159;
double r86161 = r86155 - r86160;
double r86162 = r86120 * r86121;
double r86163 = r86125 * r86128;
double r86164 = r86162 - r86163;
double r86165 = r86164 * r86122;
double r86166 = r86161 + r86165;
double r86167 = -4.687249819554671e-238;
bool r86168 = r86117 <= r86167;
double r86169 = -r86122;
double r86170 = r86128 * r86169;
double r86171 = r86125 * r86170;
double r86172 = r86171 + r86124;
double r86173 = r86172 + r86155;
double r86174 = 2.880247879572148e-95;
bool r86175 = r86117 <= r86174;
double r86176 = r86128 * r86122;
double r86177 = r86126 * r86127;
double r86178 = r86176 * r86177;
double r86179 = r86178 * r86126;
double r86180 = r86124 + r86179;
double r86181 = r86117 * r86141;
double r86182 = r86120 * r86181;
double r86183 = -r86128;
double r86184 = r86137 * r86117;
double r86185 = r86183 * r86184;
double r86186 = r86182 + r86185;
double r86187 = r86144 - r86186;
double r86188 = r86180 + r86187;
double r86189 = r86138 * r86141;
double r86190 = r86125 * r86189;
double r86191 = r86137 * r86140;
double r86192 = r86191 * r86138;
double r86193 = r86190 + r86192;
double r86194 = r86193 - r86148;
double r86195 = r86165 + r86194;
double r86196 = r86175 ? r86188 : r86195;
double r86197 = r86168 ? r86173 : r86196;
double r86198 = r86152 ? r86166 : r86197;
double r86199 = r86119 ? r86150 : r86198;
return r86199;
}



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 b < -4.053319781872422e+36Initial program 7.2
rmApplied sub-neg7.2
Applied distribute-lft-in7.2
Simplified8.2
Simplified8.6
Taylor expanded around inf 9.5
Simplified8.7
rmApplied add-cube-cbrt8.8
Applied distribute-lft-neg-in8.8
Applied associate-*r*8.8
Simplified8.8
rmApplied add-cube-cbrt8.8
Simplified9.4
Simplified8.0
if -4.053319781872422e+36 < b < -8.403626242362648e-198Initial program 12.7
rmApplied sub-neg12.7
Applied distribute-lft-in12.7
Simplified11.1
if -8.403626242362648e-198 < b < -4.687249819554671e-238Initial program 19.4
rmApplied sub-neg19.4
Applied distribute-lft-in19.4
Simplified20.2
Simplified19.9
Taylor expanded around 0 21.4
if -4.687249819554671e-238 < b < 2.880247879572148e-95Initial program 17.0
rmApplied sub-neg17.0
Applied distribute-lft-in17.0
Simplified17.4
Simplified17.3
Taylor expanded around inf 17.8
Simplified17.7
rmApplied add-cube-cbrt17.9
Applied distribute-lft-neg-in17.9
Applied associate-*r*17.9
Simplified17.9
rmApplied sub-neg17.9
Applied distribute-lft-in17.9
Simplified14.6
Simplified11.7
if 2.880247879572148e-95 < b Initial program 8.6
rmApplied sub-neg8.6
Applied distribute-lft-in8.6
Simplified8.9
Simplified8.9
Final simplification10.6
herbie shell --seed 2019174 +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)))))