\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 -3.109685036748723 \cdot 10^{-15}:\\
\;\;\;\;\left(\sqrt[3]{\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x\right)\right)} \cdot \sqrt[3]{\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x\right)\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x\right)\right)}\\
\mathbf{elif}\;b \le 3.5516828515061712 \cdot 10^{-109}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \left(y \cdot z - t \cdot a\right) \cdot x - c \cdot \left(z \cdot b\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x\right)\right)} \cdot \sqrt[3]{\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x\right)\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x\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 r3802697 = x;
double r3802698 = y;
double r3802699 = z;
double r3802700 = r3802698 * r3802699;
double r3802701 = t;
double r3802702 = a;
double r3802703 = r3802701 * r3802702;
double r3802704 = r3802700 - r3802703;
double r3802705 = r3802697 * r3802704;
double r3802706 = b;
double r3802707 = c;
double r3802708 = r3802707 * r3802699;
double r3802709 = i;
double r3802710 = r3802709 * r3802702;
double r3802711 = r3802708 - r3802710;
double r3802712 = r3802706 * r3802711;
double r3802713 = r3802705 - r3802712;
double r3802714 = j;
double r3802715 = r3802707 * r3802701;
double r3802716 = r3802709 * r3802698;
double r3802717 = r3802715 - r3802716;
double r3802718 = r3802714 * r3802717;
double r3802719 = r3802713 + r3802718;
return r3802719;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3802720 = b;
double r3802721 = -3.109685036748723e-15;
bool r3802722 = r3802720 <= r3802721;
double r3802723 = t;
double r3802724 = c;
double r3802725 = r3802723 * r3802724;
double r3802726 = y;
double r3802727 = i;
double r3802728 = r3802726 * r3802727;
double r3802729 = r3802725 - r3802728;
double r3802730 = j;
double r3802731 = a;
double r3802732 = r3802731 * r3802727;
double r3802733 = z;
double r3802734 = r3802724 * r3802733;
double r3802735 = r3802732 - r3802734;
double r3802736 = r3802726 * r3802733;
double r3802737 = r3802723 * r3802731;
double r3802738 = r3802736 - r3802737;
double r3802739 = x;
double r3802740 = r3802738 * r3802739;
double r3802741 = fma(r3802735, r3802720, r3802740);
double r3802742 = fma(r3802729, r3802730, r3802741);
double r3802743 = cbrt(r3802742);
double r3802744 = r3802743 * r3802743;
double r3802745 = r3802744 * r3802743;
double r3802746 = 3.5516828515061712e-109;
bool r3802747 = r3802720 <= r3802746;
double r3802748 = r3802733 * r3802720;
double r3802749 = r3802724 * r3802748;
double r3802750 = r3802740 - r3802749;
double r3802751 = fma(r3802729, r3802730, r3802750);
double r3802752 = r3802747 ? r3802751 : r3802745;
double r3802753 = r3802722 ? r3802745 : r3802752;
return r3802753;
}



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 b < -3.109685036748723e-15 or 3.5516828515061712e-109 < b Initial program 8.0
Simplified7.9
rmApplied add-cube-cbrt8.9
if -3.109685036748723e-15 < b < 3.5516828515061712e-109Initial program 15.4
Simplified15.4
Taylor expanded around inf 14.8
Simplified14.6
Final simplification11.7
herbie shell --seed 2019162 +o rules:numerics
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))