\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 -1.746485226326191646256035493009197125697 \cdot 10^{-44}:\\
\;\;\;\;\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)\\
\mathbf{elif}\;b \le 1.08978867975796909101609245095535399082 \cdot 10^{78}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(-a \cdot \left(i \cdot b\right)\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\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) + 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 r106580 = x;
double r106581 = y;
double r106582 = z;
double r106583 = r106581 * r106582;
double r106584 = t;
double r106585 = a;
double r106586 = r106584 * r106585;
double r106587 = r106583 - r106586;
double r106588 = r106580 * r106587;
double r106589 = b;
double r106590 = c;
double r106591 = r106590 * r106582;
double r106592 = i;
double r106593 = r106592 * r106585;
double r106594 = r106591 - r106593;
double r106595 = r106589 * r106594;
double r106596 = r106588 - r106595;
double r106597 = j;
double r106598 = r106590 * r106584;
double r106599 = r106592 * r106581;
double r106600 = r106598 - r106599;
double r106601 = r106597 * r106600;
double r106602 = r106596 + r106601;
return r106602;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r106603 = b;
double r106604 = -1.7464852263261916e-44;
bool r106605 = r106603 <= r106604;
double r106606 = x;
double r106607 = y;
double r106608 = z;
double r106609 = r106607 * r106608;
double r106610 = t;
double r106611 = a;
double r106612 = r106610 * r106611;
double r106613 = r106609 - r106612;
double r106614 = r106606 * r106613;
double r106615 = c;
double r106616 = r106615 * r106608;
double r106617 = i;
double r106618 = r106617 * r106611;
double r106619 = r106616 - r106618;
double r106620 = r106603 * r106619;
double r106621 = r106614 - r106620;
double r106622 = j;
double r106623 = r106622 * r106615;
double r106624 = r106610 * r106623;
double r106625 = r106622 * r106607;
double r106626 = r106617 * r106625;
double r106627 = -r106626;
double r106628 = r106624 + r106627;
double r106629 = r106621 + r106628;
double r106630 = 1.089788679757969e+78;
bool r106631 = r106603 <= r106630;
double r106632 = r106603 * r106615;
double r106633 = r106608 * r106632;
double r106634 = r106617 * r106603;
double r106635 = r106611 * r106634;
double r106636 = -r106635;
double r106637 = r106633 + r106636;
double r106638 = r106614 - r106637;
double r106639 = r106615 * r106610;
double r106640 = r106617 * r106607;
double r106641 = r106639 - r106640;
double r106642 = r106622 * r106641;
double r106643 = r106638 + r106642;
double r106644 = r106609 * r106606;
double r106645 = r106606 * r106610;
double r106646 = r106611 * r106645;
double r106647 = -r106646;
double r106648 = r106644 + r106647;
double r106649 = r106648 - r106620;
double r106650 = r106649 + r106642;
double r106651 = r106631 ? r106643 : r106650;
double r106652 = r106605 ? r106629 : r106651;
return r106652;
}



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 b < -1.7464852263261916e-44Initial program 8.0
rmApplied sub-neg8.0
Applied distribute-lft-in8.0
Simplified8.6
Simplified8.0
if -1.7464852263261916e-44 < b < 1.089788679757969e+78Initial program 14.8
rmApplied add-cube-cbrt15.0
Applied associate-*l*15.0
rmApplied sub-neg15.0
Applied distribute-lft-in15.0
Applied distribute-lft-in15.0
Simplified12.7
Simplified10.4
if 1.089788679757969e+78 < b Initial program 6.5
rmApplied sub-neg6.5
Applied distribute-lft-in6.5
Simplified6.5
Simplified7.5
Final simplification9.4
herbie shell --seed 2019323 +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)))))