\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}\;j \le -1.720736101505764993152606887370382586084 \cdot 10^{109} \lor j \le 1663620795834412891635712:\\
\;\;\;\;\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)\\
\mathbf{else}:\\
\;\;\;\;\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)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r84684 = x;
double r84685 = y;
double r84686 = z;
double r84687 = r84685 * r84686;
double r84688 = t;
double r84689 = a;
double r84690 = r84688 * r84689;
double r84691 = r84687 - r84690;
double r84692 = r84684 * r84691;
double r84693 = b;
double r84694 = c;
double r84695 = r84694 * r84686;
double r84696 = i;
double r84697 = r84696 * r84689;
double r84698 = r84695 - r84697;
double r84699 = r84693 * r84698;
double r84700 = r84692 - r84699;
double r84701 = j;
double r84702 = r84694 * r84688;
double r84703 = r84696 * r84685;
double r84704 = r84702 - r84703;
double r84705 = r84701 * r84704;
double r84706 = r84700 + r84705;
return r84706;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r84707 = j;
double r84708 = -1.720736101505765e+109;
bool r84709 = r84707 <= r84708;
double r84710 = 1.663620795834413e+24;
bool r84711 = r84707 <= r84710;
bool r84712 = r84709 || r84711;
double r84713 = x;
double r84714 = y;
double r84715 = z;
double r84716 = r84714 * r84715;
double r84717 = t;
double r84718 = a;
double r84719 = r84717 * r84718;
double r84720 = r84716 - r84719;
double r84721 = r84713 * r84720;
double r84722 = b;
double r84723 = c;
double r84724 = r84723 * r84715;
double r84725 = i;
double r84726 = r84725 * r84718;
double r84727 = r84724 - r84726;
double r84728 = r84722 * r84727;
double r84729 = r84721 - r84728;
double r84730 = r84723 * r84717;
double r84731 = r84725 * r84714;
double r84732 = r84730 - r84731;
double r84733 = r84707 * r84732;
double r84734 = r84729 + r84733;
double r84735 = r84712 ? r84734 : r84734;
return r84735;
}



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 j < -1.720736101505765e+109Initial program 6.9
rmApplied add-cube-cbrt7.1
Applied associate-*r*7.1
if -1.720736101505765e+109 < j < 1.663620795834413e+24Initial program 14.5
rmApplied add-cube-cbrt14.7
Applied associate-*l*14.7
rmApplied sub-neg14.7
Applied distribute-lft-in14.7
Applied distribute-lft-in14.7
Simplified12.7
Simplified12.6
rmApplied *-un-lft-identity12.6
Applied associate-*l*12.6
Simplified10.5
if 1.663620795834413e+24 < j Initial program 7.2
rmApplied add-cube-cbrt7.4
Applied associate-*r*7.4
Final simplification12.4
herbie shell --seed 2019294
(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)))))