\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}\;i \le -9.80589968561863549466493075832164342018 \cdot 10^{181}:\\
\;\;\;\;a \cdot \left(i \cdot b\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;i \le -6.366729464959375073563677277112802819254 \cdot 10^{-234} \lor \neg \left(i \le 2.197843410170811163538252044278555600049 \cdot 10^{-153}\right):\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(-i \cdot a\right) \cdot b\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-\left(i \cdot j\right) \cdot y\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(y \cdot z\right) \cdot x + \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(-\left(i \cdot j\right) \cdot y\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 r93381 = x;
double r93382 = y;
double r93383 = z;
double r93384 = r93382 * r93383;
double r93385 = t;
double r93386 = a;
double r93387 = r93385 * r93386;
double r93388 = r93384 - r93387;
double r93389 = r93381 * r93388;
double r93390 = b;
double r93391 = c;
double r93392 = r93391 * r93383;
double r93393 = i;
double r93394 = r93393 * r93386;
double r93395 = r93392 - r93394;
double r93396 = r93390 * r93395;
double r93397 = r93389 - r93396;
double r93398 = j;
double r93399 = r93391 * r93385;
double r93400 = r93393 * r93382;
double r93401 = r93399 - r93400;
double r93402 = r93398 * r93401;
double r93403 = r93397 + r93402;
return r93403;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r93404 = i;
double r93405 = -9.805899685618635e+181;
bool r93406 = r93404 <= r93405;
double r93407 = a;
double r93408 = b;
double r93409 = r93404 * r93408;
double r93410 = r93407 * r93409;
double r93411 = j;
double r93412 = c;
double r93413 = t;
double r93414 = r93412 * r93413;
double r93415 = y;
double r93416 = r93404 * r93415;
double r93417 = r93414 - r93416;
double r93418 = r93411 * r93417;
double r93419 = r93410 + r93418;
double r93420 = -6.366729464959375e-234;
bool r93421 = r93404 <= r93420;
double r93422 = 2.1978434101708112e-153;
bool r93423 = r93404 <= r93422;
double r93424 = !r93423;
bool r93425 = r93421 || r93424;
double r93426 = x;
double r93427 = z;
double r93428 = r93415 * r93427;
double r93429 = r93413 * r93407;
double r93430 = r93428 - r93429;
double r93431 = r93426 * r93430;
double r93432 = r93408 * r93412;
double r93433 = r93427 * r93432;
double r93434 = r93404 * r93407;
double r93435 = -r93434;
double r93436 = r93435 * r93408;
double r93437 = r93433 + r93436;
double r93438 = r93431 - r93437;
double r93439 = r93411 * r93412;
double r93440 = r93413 * r93439;
double r93441 = r93404 * r93411;
double r93442 = r93441 * r93415;
double r93443 = -r93442;
double r93444 = r93440 + r93443;
double r93445 = r93438 + r93444;
double r93446 = r93428 * r93426;
double r93447 = r93426 * r93413;
double r93448 = r93407 * r93447;
double r93449 = -r93448;
double r93450 = r93446 + r93449;
double r93451 = r93412 * r93427;
double r93452 = r93451 - r93434;
double r93453 = r93408 * r93452;
double r93454 = r93450 - r93453;
double r93455 = r93454 + r93444;
double r93456 = r93425 ? r93445 : r93455;
double r93457 = r93406 ? r93419 : r93456;
return r93457;
}



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 i < -9.805899685618635e+181Initial program 24.9
Taylor expanded around inf 29.8
Simplified35.5
if -9.805899685618635e+181 < i < -6.366729464959375e-234 or 2.1978434101708112e-153 < i Initial program 12.3
rmApplied sub-neg12.3
Applied distribute-lft-in12.3
Simplified12.8
Simplified12.1
rmApplied associate-*r*12.6
rmApplied sub-neg12.6
Applied distribute-lft-in12.6
Simplified12.9
Simplified12.9
if -6.366729464959375e-234 < i < 2.1978434101708112e-153Initial program 9.7
rmApplied sub-neg9.7
Applied distribute-lft-in9.7
Simplified10.9
Simplified13.9
rmApplied associate-*r*10.7
rmApplied sub-neg10.7
Applied distribute-lft-in10.7
Simplified10.7
Simplified10.9
Final simplification13.7
herbie shell --seed 2019304 +o rules:numerics
(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)))))