\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}\;x \le -4.01645147109428022 \cdot 10^{-173} \lor \neg \left(x \le 1.58691066146071069 \cdot 10^{-234}\right):\\
\;\;\;\;\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(-j\right) \cdot \left(i \cdot y\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(0 - 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 r122684 = x;
double r122685 = y;
double r122686 = z;
double r122687 = r122685 * r122686;
double r122688 = t;
double r122689 = a;
double r122690 = r122688 * r122689;
double r122691 = r122687 - r122690;
double r122692 = r122684 * r122691;
double r122693 = b;
double r122694 = c;
double r122695 = r122694 * r122686;
double r122696 = i;
double r122697 = r122696 * r122689;
double r122698 = r122695 - r122697;
double r122699 = r122693 * r122698;
double r122700 = r122692 - r122699;
double r122701 = j;
double r122702 = r122694 * r122688;
double r122703 = r122696 * r122685;
double r122704 = r122702 - r122703;
double r122705 = r122701 * r122704;
double r122706 = r122700 + r122705;
return r122706;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r122707 = x;
double r122708 = -4.01645147109428e-173;
bool r122709 = r122707 <= r122708;
double r122710 = 1.5869106614607107e-234;
bool r122711 = r122707 <= r122710;
double r122712 = !r122711;
bool r122713 = r122709 || r122712;
double r122714 = y;
double r122715 = z;
double r122716 = r122714 * r122715;
double r122717 = t;
double r122718 = a;
double r122719 = r122717 * r122718;
double r122720 = r122716 - r122719;
double r122721 = r122707 * r122720;
double r122722 = b;
double r122723 = c;
double r122724 = r122723 * r122715;
double r122725 = i;
double r122726 = r122725 * r122718;
double r122727 = r122724 - r122726;
double r122728 = r122722 * r122727;
double r122729 = r122721 - r122728;
double r122730 = j;
double r122731 = r122730 * r122723;
double r122732 = r122717 * r122731;
double r122733 = -r122730;
double r122734 = r122725 * r122714;
double r122735 = r122733 * r122734;
double r122736 = r122732 + r122735;
double r122737 = r122729 + r122736;
double r122738 = 0.0;
double r122739 = r122738 - r122728;
double r122740 = r122723 * r122717;
double r122741 = r122740 - r122734;
double r122742 = r122730 * r122741;
double r122743 = r122739 + r122742;
double r122744 = r122713 ? r122737 : r122743;
return r122744;
}



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 x < -4.01645147109428e-173 or 1.5869106614607107e-234 < x Initial program 11.0
rmApplied add-cube-cbrt11.3
Applied associate-*l*11.3
rmApplied sub-neg11.3
Applied distribute-lft-in11.3
Applied distribute-lft-in11.3
Simplified11.4
Simplified11.3
if -4.01645147109428e-173 < x < 1.5869106614607107e-234Initial program 17.8
Taylor expanded around 0 17.2
Final simplification12.5
herbie shell --seed 2020018
(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)))))