\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 -6.872728724887805 \cdot 10^{-192}:\\
\;\;\;\;\mathsf{fma}\left(\left(\sqrt[3]{i \cdot a - c \cdot z} \cdot \left(\sqrt[3]{i \cdot a - c \cdot z} \cdot \sqrt[3]{i \cdot a - c \cdot z}\right)\right), b, \left(\mathsf{fma}\left(\left(c \cdot t - y \cdot i\right), j, \left(\left(\left(y \cdot z - a \cdot t\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right) \cdot \sqrt[3]{x}\right)\right)\right)\right)\\
\mathbf{elif}\;b \le 7.068768060452249 \cdot 10^{-262}:\\
\;\;\;\;\mathsf{fma}\left(0, b, \left(\mathsf{fma}\left(\left(c \cdot t - y \cdot i\right), j, \left(\left(y \cdot z - a \cdot t\right) \cdot x\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\left(\sqrt[3]{i \cdot a - c \cdot z} \cdot \left(\sqrt[3]{i \cdot a - c \cdot z} \cdot \sqrt[3]{i \cdot a - c \cdot z}\right)\right), b, \left(\mathsf{fma}\left(\left(c \cdot t - y \cdot i\right), j, \left(\left(\left(y \cdot z - a \cdot t\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right) \cdot \sqrt[3]{x}\right)\right)\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 r3002829 = x;
double r3002830 = y;
double r3002831 = z;
double r3002832 = r3002830 * r3002831;
double r3002833 = t;
double r3002834 = a;
double r3002835 = r3002833 * r3002834;
double r3002836 = r3002832 - r3002835;
double r3002837 = r3002829 * r3002836;
double r3002838 = b;
double r3002839 = c;
double r3002840 = r3002839 * r3002831;
double r3002841 = i;
double r3002842 = r3002841 * r3002834;
double r3002843 = r3002840 - r3002842;
double r3002844 = r3002838 * r3002843;
double r3002845 = r3002837 - r3002844;
double r3002846 = j;
double r3002847 = r3002839 * r3002833;
double r3002848 = r3002841 * r3002830;
double r3002849 = r3002847 - r3002848;
double r3002850 = r3002846 * r3002849;
double r3002851 = r3002845 + r3002850;
return r3002851;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3002852 = b;
double r3002853 = -6.872728724887805e-192;
bool r3002854 = r3002852 <= r3002853;
double r3002855 = i;
double r3002856 = a;
double r3002857 = r3002855 * r3002856;
double r3002858 = c;
double r3002859 = z;
double r3002860 = r3002858 * r3002859;
double r3002861 = r3002857 - r3002860;
double r3002862 = cbrt(r3002861);
double r3002863 = r3002862 * r3002862;
double r3002864 = r3002862 * r3002863;
double r3002865 = t;
double r3002866 = r3002858 * r3002865;
double r3002867 = y;
double r3002868 = r3002867 * r3002855;
double r3002869 = r3002866 - r3002868;
double r3002870 = j;
double r3002871 = r3002867 * r3002859;
double r3002872 = r3002856 * r3002865;
double r3002873 = r3002871 - r3002872;
double r3002874 = x;
double r3002875 = cbrt(r3002874);
double r3002876 = r3002875 * r3002875;
double r3002877 = r3002873 * r3002876;
double r3002878 = r3002877 * r3002875;
double r3002879 = fma(r3002869, r3002870, r3002878);
double r3002880 = fma(r3002864, r3002852, r3002879);
double r3002881 = 7.068768060452249e-262;
bool r3002882 = r3002852 <= r3002881;
double r3002883 = 0.0;
double r3002884 = r3002873 * r3002874;
double r3002885 = fma(r3002869, r3002870, r3002884);
double r3002886 = fma(r3002883, r3002852, r3002885);
double r3002887 = r3002882 ? r3002886 : r3002880;
double r3002888 = r3002854 ? r3002880 : r3002887;
return r3002888;
}



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 < -6.872728724887805e-192 or 7.068768060452249e-262 < b Initial program 11.2
Simplified11.2
rmApplied add-cube-cbrt11.5
rmApplied add-cube-cbrt11.8
Applied associate-*r*11.8
if -6.872728724887805e-192 < b < 7.068768060452249e-262Initial program 15.9
Simplified15.9
Taylor expanded around 0 16.2
Final simplification12.5
herbie shell --seed 2019133 +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)))))