\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}\;y \le -2.42765769235918329 \cdot 10^{50}:\\
\;\;\;\;\left(\left(y \cdot \left(z \cdot x\right) + \left(-\left(x \cdot a\right) \cdot t\right)\right) - \left(z \cdot \left(b \cdot c\right) + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;y \le -8.0409641531815185 \cdot 10^{-61}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(-a \cdot \left(i \cdot b\right)\right) + z \cdot \left(b \cdot c\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;y \le -6.89944287855898492 \cdot 10^{-190}:\\
\;\;\;\;\left(\left(\left(y \cdot z\right) \cdot x + \left(-a \cdot \left(x \cdot t\right)\right)\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(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{elif}\;y \le 5.04520886396705384 \cdot 10^{-266}:\\
\;\;\;\;\left(\left(\left(y \cdot z\right) \cdot x + \left(-\left(x \cdot a\right) \cdot t\right)\right) - \left(z \cdot \left(b \cdot c\right) + i \cdot \left(\left(-a\right) \cdot b\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;y \le 6.49469144586640412 \cdot 10^{-155}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(-a \cdot \left(i \cdot b\right)\right) + z \cdot \left(b \cdot c\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;y \le 2.44461552747405897 \cdot 10^{-97}:\\
\;\;\;\;\left(\left(\left(y \cdot z\right) \cdot x + \left(-a \cdot \left(x \cdot t\right)\right)\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(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y \cdot \left(z \cdot x\right) + \left(-\left(x \cdot a\right) \cdot t\right)\right) - \left(z \cdot \left(b \cdot c\right) + \left(-i \cdot a\right) \cdot b\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 r110536 = x;
double r110537 = y;
double r110538 = z;
double r110539 = r110537 * r110538;
double r110540 = t;
double r110541 = a;
double r110542 = r110540 * r110541;
double r110543 = r110539 - r110542;
double r110544 = r110536 * r110543;
double r110545 = b;
double r110546 = c;
double r110547 = r110546 * r110538;
double r110548 = i;
double r110549 = r110548 * r110541;
double r110550 = r110547 - r110549;
double r110551 = r110545 * r110550;
double r110552 = r110544 - r110551;
double r110553 = j;
double r110554 = r110546 * r110540;
double r110555 = r110548 * r110537;
double r110556 = r110554 - r110555;
double r110557 = r110553 * r110556;
double r110558 = r110552 + r110557;
return r110558;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r110559 = y;
double r110560 = -2.4276576923591833e+50;
bool r110561 = r110559 <= r110560;
double r110562 = z;
double r110563 = x;
double r110564 = r110562 * r110563;
double r110565 = r110559 * r110564;
double r110566 = a;
double r110567 = r110563 * r110566;
double r110568 = t;
double r110569 = r110567 * r110568;
double r110570 = -r110569;
double r110571 = r110565 + r110570;
double r110572 = b;
double r110573 = c;
double r110574 = r110572 * r110573;
double r110575 = r110562 * r110574;
double r110576 = i;
double r110577 = r110576 * r110566;
double r110578 = -r110577;
double r110579 = r110578 * r110572;
double r110580 = r110575 + r110579;
double r110581 = r110571 - r110580;
double r110582 = j;
double r110583 = r110573 * r110568;
double r110584 = r110576 * r110559;
double r110585 = r110583 - r110584;
double r110586 = r110582 * r110585;
double r110587 = r110581 + r110586;
double r110588 = -8.040964153181518e-61;
bool r110589 = r110559 <= r110588;
double r110590 = r110559 * r110562;
double r110591 = r110568 * r110566;
double r110592 = r110590 - r110591;
double r110593 = r110563 * r110592;
double r110594 = r110576 * r110572;
double r110595 = r110566 * r110594;
double r110596 = -r110595;
double r110597 = r110596 + r110575;
double r110598 = r110593 - r110597;
double r110599 = r110598 + r110586;
double r110600 = -6.899442878558985e-190;
bool r110601 = r110559 <= r110600;
double r110602 = r110590 * r110563;
double r110603 = r110563 * r110568;
double r110604 = r110566 * r110603;
double r110605 = -r110604;
double r110606 = r110602 + r110605;
double r110607 = r110606 - r110580;
double r110608 = r110582 * r110573;
double r110609 = r110568 * r110608;
double r110610 = r110582 * r110559;
double r110611 = r110576 * r110610;
double r110612 = -r110611;
double r110613 = r110609 + r110612;
double r110614 = r110607 + r110613;
double r110615 = 5.045208863967054e-266;
bool r110616 = r110559 <= r110615;
double r110617 = r110602 + r110570;
double r110618 = -r110566;
double r110619 = r110618 * r110572;
double r110620 = r110576 * r110619;
double r110621 = r110575 + r110620;
double r110622 = r110617 - r110621;
double r110623 = r110622 + r110586;
double r110624 = 6.494691445866404e-155;
bool r110625 = r110559 <= r110624;
double r110626 = 2.444615527474059e-97;
bool r110627 = r110559 <= r110626;
double r110628 = r110627 ? r110614 : r110587;
double r110629 = r110625 ? r110599 : r110628;
double r110630 = r110616 ? r110623 : r110629;
double r110631 = r110601 ? r110614 : r110630;
double r110632 = r110589 ? r110599 : r110631;
double r110633 = r110561 ? r110587 : r110632;
return r110633;
}



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 y < -2.4276576923591833e+50 or 2.444615527474059e-97 < y Initial program 15.5
rmApplied sub-neg15.5
Applied distribute-lft-in15.5
Simplified16.6
Simplified16.6
rmApplied sub-neg16.6
Applied distribute-lft-in16.6
Simplified16.6
Simplified16.6
rmApplied associate-*r*16.9
Simplified16.9
rmApplied associate-*l*13.1
if -2.4276576923591833e+50 < y < -8.040964153181518e-61 or 5.045208863967054e-266 < y < 6.494691445866404e-155Initial program 9.1
rmApplied sub-neg9.1
Applied distribute-lft-in9.1
Simplified9.0
Simplified9.0
rmApplied neg-mul-19.0
Applied associate-*l*9.0
Simplified9.1
if -8.040964153181518e-61 < y < -6.899442878558985e-190 or 6.494691445866404e-155 < y < 2.444615527474059e-97Initial program 9.1
rmApplied sub-neg9.1
Applied distribute-lft-in9.1
Simplified9.5
Simplified9.5
rmApplied sub-neg9.5
Applied distribute-lft-in9.5
Simplified9.5
Simplified9.8
rmApplied sub-neg9.8
Applied distribute-lft-in9.8
Simplified10.6
Simplified10.7
if -6.899442878558985e-190 < y < 5.045208863967054e-266Initial program 8.6
rmApplied sub-neg8.6
Applied distribute-lft-in8.6
Simplified8.9
Simplified8.9
rmApplied sub-neg8.9
Applied distribute-lft-in8.9
Simplified8.9
Simplified10.0
rmApplied associate-*r*9.0
Simplified9.0
rmApplied distribute-rgt-neg-in9.0
Applied associate-*l*8.3
Final simplification11.0
herbie shell --seed 2020042
(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)))))