\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}\;t \le -7.200740981334782655496577567079341498697 \cdot 10^{-34}:\\
\;\;\;\;\left(\left(y \cdot \left(z \cdot x\right) + \left(-\left(a \cdot x\right) \cdot t\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;t \le 3.522490007732434229595790255302512577665 \cdot 10^{-205}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(b \cdot \left(-i\right)\right) \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(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 r86430 = x;
double r86431 = y;
double r86432 = z;
double r86433 = r86431 * r86432;
double r86434 = t;
double r86435 = a;
double r86436 = r86434 * r86435;
double r86437 = r86433 - r86436;
double r86438 = r86430 * r86437;
double r86439 = b;
double r86440 = c;
double r86441 = r86440 * r86432;
double r86442 = i;
double r86443 = r86442 * r86435;
double r86444 = r86441 - r86443;
double r86445 = r86439 * r86444;
double r86446 = r86438 - r86445;
double r86447 = j;
double r86448 = r86440 * r86434;
double r86449 = r86442 * r86431;
double r86450 = r86448 - r86449;
double r86451 = r86447 * r86450;
double r86452 = r86446 + r86451;
return r86452;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r86453 = t;
double r86454 = -7.200740981334783e-34;
bool r86455 = r86453 <= r86454;
double r86456 = y;
double r86457 = z;
double r86458 = x;
double r86459 = r86457 * r86458;
double r86460 = r86456 * r86459;
double r86461 = a;
double r86462 = r86461 * r86458;
double r86463 = r86462 * r86453;
double r86464 = -r86463;
double r86465 = r86460 + r86464;
double r86466 = b;
double r86467 = c;
double r86468 = r86467 * r86457;
double r86469 = i;
double r86470 = r86469 * r86461;
double r86471 = r86468 - r86470;
double r86472 = r86466 * r86471;
double r86473 = r86465 - r86472;
double r86474 = j;
double r86475 = r86467 * r86453;
double r86476 = r86469 * r86456;
double r86477 = r86475 - r86476;
double r86478 = r86474 * r86477;
double r86479 = r86473 + r86478;
double r86480 = 3.5224900077324342e-205;
bool r86481 = r86453 <= r86480;
double r86482 = r86456 * r86457;
double r86483 = r86453 * r86461;
double r86484 = r86482 - r86483;
double r86485 = r86458 * r86484;
double r86486 = r86466 * r86467;
double r86487 = r86457 * r86486;
double r86488 = -r86469;
double r86489 = r86466 * r86488;
double r86490 = r86489 * r86461;
double r86491 = r86487 + r86490;
double r86492 = r86485 - r86491;
double r86493 = r86492 + r86478;
double r86494 = r86485 - r86472;
double r86495 = r86474 * r86467;
double r86496 = r86453 * r86495;
double r86497 = r86474 * r86456;
double r86498 = r86469 * r86497;
double r86499 = -r86498;
double r86500 = r86496 + r86499;
double r86501 = r86494 + r86500;
double r86502 = r86481 ? r86493 : r86501;
double r86503 = r86455 ? r86479 : r86502;
return r86503;
}



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 t < -7.200740981334783e-34Initial program 15.4
rmApplied sub-neg15.4
Applied distribute-lft-in15.4
Simplified15.4
Simplified16.0
rmApplied associate-*r*11.8
rmApplied associate-*l*11.2
if -7.200740981334783e-34 < t < 3.5224900077324342e-205Initial program 9.1
rmApplied sub-neg9.1
Applied distribute-lft-in9.1
Simplified9.4
rmApplied distribute-lft-neg-in9.4
Applied associate-*r*8.7
if 3.5224900077324342e-205 < t Initial program 12.7
rmApplied sub-neg12.7
Applied distribute-lft-in12.7
Simplified12.1
Simplified12.1
Final simplification10.6
herbie shell --seed 2019322
(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)))))