\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 -5.6638058677896054 \cdot 10^{-176}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(\left(\left(\sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}} \cdot \sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a}}\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)\right)\\
\mathbf{elif}\;x \le 3.5355044355755603 \cdot 10^{-198}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot 0 - b \cdot \left(c \cdot z - i \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, \sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\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 r77659 = x;
double r77660 = y;
double r77661 = z;
double r77662 = r77660 * r77661;
double r77663 = t;
double r77664 = a;
double r77665 = r77663 * r77664;
double r77666 = r77662 - r77665;
double r77667 = r77659 * r77666;
double r77668 = b;
double r77669 = c;
double r77670 = r77669 * r77661;
double r77671 = i;
double r77672 = r77671 * r77664;
double r77673 = r77670 - r77672;
double r77674 = r77668 * r77673;
double r77675 = r77667 - r77674;
double r77676 = j;
double r77677 = r77669 * r77663;
double r77678 = r77671 * r77660;
double r77679 = r77677 - r77678;
double r77680 = r77676 * r77679;
double r77681 = r77675 + r77680;
return r77681;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r77682 = x;
double r77683 = -5.6638058677896054e-176;
bool r77684 = r77682 <= r77683;
double r77685 = c;
double r77686 = t;
double r77687 = r77685 * r77686;
double r77688 = i;
double r77689 = y;
double r77690 = r77688 * r77689;
double r77691 = r77687 - r77690;
double r77692 = j;
double r77693 = z;
double r77694 = r77689 * r77693;
double r77695 = a;
double r77696 = r77686 * r77695;
double r77697 = r77694 - r77696;
double r77698 = r77682 * r77697;
double r77699 = b;
double r77700 = r77685 * r77693;
double r77701 = r77688 * r77695;
double r77702 = r77700 - r77701;
double r77703 = cbrt(r77702);
double r77704 = r77703 * r77703;
double r77705 = cbrt(r77704);
double r77706 = cbrt(r77703);
double r77707 = r77705 * r77706;
double r77708 = r77707 * r77703;
double r77709 = r77708 * r77703;
double r77710 = r77699 * r77709;
double r77711 = r77698 - r77710;
double r77712 = fma(r77691, r77692, r77711);
double r77713 = 3.53550443557556e-198;
bool r77714 = r77682 <= r77713;
double r77715 = cbrt(r77682);
double r77716 = r77715 * r77715;
double r77717 = 0.0;
double r77718 = r77716 * r77717;
double r77719 = r77699 * r77702;
double r77720 = r77718 - r77719;
double r77721 = fma(r77691, r77692, r77720);
double r77722 = sqrt(r77682);
double r77723 = r77722 * r77697;
double r77724 = r77722 * r77723;
double r77725 = r77724 - r77719;
double r77726 = fma(r77691, r77692, r77725);
double r77727 = r77714 ? r77721 : r77726;
double r77728 = r77684 ? r77712 : r77727;
return r77728;
}



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
if x < -5.6638058677896054e-176Initial program 10.1
Simplified10.1
rmApplied add-cube-cbrt10.4
rmApplied add-cube-cbrt10.4
Applied cbrt-prod10.4
if -5.6638058677896054e-176 < x < 3.53550443557556e-198Initial program 16.4
Simplified16.4
rmApplied add-cube-cbrt16.5
Applied associate-*l*16.5
Taylor expanded around 0 16.5
if 3.53550443557556e-198 < x Initial program 11.0
Simplified11.0
rmApplied add-sqr-sqrt11.1
Applied associate-*l*11.1
Final simplification12.3
herbie shell --seed 2020081 +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)))))