\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 -3.558679195290626040559800458140671253204 \lor \neg \left(j \le 4.784801129022457779255706995671921542182 \cdot 10^{-23}\right):\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + b \cdot \left(-i \cdot a\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot z\right) \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot \sqrt[3]{y} + \left(-a \cdot \left(x \cdot t\right)\right)\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 r78188 = x;
double r78189 = y;
double r78190 = z;
double r78191 = r78189 * r78190;
double r78192 = t;
double r78193 = a;
double r78194 = r78192 * r78193;
double r78195 = r78191 - r78194;
double r78196 = r78188 * r78195;
double r78197 = b;
double r78198 = c;
double r78199 = r78198 * r78190;
double r78200 = i;
double r78201 = r78200 * r78193;
double r78202 = r78199 - r78201;
double r78203 = r78197 * r78202;
double r78204 = r78196 - r78203;
double r78205 = j;
double r78206 = r78198 * r78192;
double r78207 = r78200 * r78189;
double r78208 = r78206 - r78207;
double r78209 = r78205 * r78208;
double r78210 = r78204 + r78209;
return r78210;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r78211 = j;
double r78212 = -3.558679195290626;
bool r78213 = r78211 <= r78212;
double r78214 = 4.784801129022458e-23;
bool r78215 = r78211 <= r78214;
double r78216 = !r78215;
bool r78217 = r78213 || r78216;
double r78218 = x;
double r78219 = y;
double r78220 = z;
double r78221 = r78219 * r78220;
double r78222 = t;
double r78223 = a;
double r78224 = r78222 * r78223;
double r78225 = r78221 - r78224;
double r78226 = r78218 * r78225;
double r78227 = b;
double r78228 = c;
double r78229 = r78227 * r78228;
double r78230 = r78220 * r78229;
double r78231 = i;
double r78232 = r78231 * r78223;
double r78233 = -r78232;
double r78234 = r78227 * r78233;
double r78235 = r78230 + r78234;
double r78236 = r78226 - r78235;
double r78237 = r78228 * r78222;
double r78238 = r78231 * r78219;
double r78239 = r78237 - r78238;
double r78240 = r78211 * r78239;
double r78241 = r78236 + r78240;
double r78242 = r78218 * r78220;
double r78243 = cbrt(r78219);
double r78244 = r78243 * r78243;
double r78245 = r78242 * r78244;
double r78246 = r78245 * r78243;
double r78247 = r78218 * r78222;
double r78248 = r78223 * r78247;
double r78249 = -r78248;
double r78250 = r78246 + r78249;
double r78251 = r78228 * r78220;
double r78252 = r78251 - r78232;
double r78253 = r78227 * r78252;
double r78254 = r78250 - r78253;
double r78255 = r78211 * r78228;
double r78256 = r78222 * r78255;
double r78257 = r78211 * r78219;
double r78258 = r78231 * r78257;
double r78259 = -r78258;
double r78260 = r78256 + r78259;
double r78261 = r78254 + r78260;
double r78262 = r78217 ? r78241 : r78261;
return r78262;
}



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 < -3.558679195290626 or 4.784801129022458e-23 < j Initial program 7.6
rmApplied sub-neg7.6
Applied distribute-lft-in7.6
Simplified7.8
if -3.558679195290626 < j < 4.784801129022458e-23Initial program 15.9
rmApplied sub-neg15.9
Applied distribute-lft-in15.9
Simplified15.9
Simplified15.8
rmApplied associate-*r*15.3
rmApplied add-cube-cbrt15.5
Applied associate-*r*15.5
rmApplied sub-neg15.5
Applied distribute-lft-in15.5
Simplified13.0
Simplified9.8
Final simplification9.0
herbie shell --seed 2019303
(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)))))