\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 -1.0204593285382147 \cdot 10^{-230}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(c \cdot t - i \cdot y\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right)\\
\mathbf{elif}\;b \le 4.606925696387801 \cdot 10^{-196}:\\
\;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(y \cdot z - t \cdot a\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - i \cdot a\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\right) + \left(c \cdot t - i \cdot y\right) \cdot j\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r2607894 = x;
double r2607895 = y;
double r2607896 = z;
double r2607897 = r2607895 * r2607896;
double r2607898 = t;
double r2607899 = a;
double r2607900 = r2607898 * r2607899;
double r2607901 = r2607897 - r2607900;
double r2607902 = r2607894 * r2607901;
double r2607903 = b;
double r2607904 = c;
double r2607905 = r2607904 * r2607896;
double r2607906 = i;
double r2607907 = r2607906 * r2607899;
double r2607908 = r2607905 - r2607907;
double r2607909 = r2607903 * r2607908;
double r2607910 = r2607902 - r2607909;
double r2607911 = j;
double r2607912 = r2607904 * r2607898;
double r2607913 = r2607906 * r2607895;
double r2607914 = r2607912 - r2607913;
double r2607915 = r2607911 * r2607914;
double r2607916 = r2607910 + r2607915;
return r2607916;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r2607917 = b;
double r2607918 = -1.0204593285382147e-230;
bool r2607919 = r2607917 <= r2607918;
double r2607920 = y;
double r2607921 = z;
double r2607922 = r2607920 * r2607921;
double r2607923 = t;
double r2607924 = a;
double r2607925 = r2607923 * r2607924;
double r2607926 = r2607922 - r2607925;
double r2607927 = x;
double r2607928 = r2607926 * r2607927;
double r2607929 = c;
double r2607930 = r2607929 * r2607921;
double r2607931 = i;
double r2607932 = r2607931 * r2607924;
double r2607933 = r2607930 - r2607932;
double r2607934 = r2607917 * r2607933;
double r2607935 = r2607928 - r2607934;
double r2607936 = r2607929 * r2607923;
double r2607937 = r2607931 * r2607920;
double r2607938 = r2607936 - r2607937;
double r2607939 = j;
double r2607940 = cbrt(r2607939);
double r2607941 = r2607938 * r2607940;
double r2607942 = r2607940 * r2607940;
double r2607943 = r2607941 * r2607942;
double r2607944 = r2607935 + r2607943;
double r2607945 = 4.606925696387801e-196;
bool r2607946 = r2607917 <= r2607945;
double r2607947 = r2607938 * r2607939;
double r2607948 = r2607947 + r2607928;
double r2607949 = sqrt(r2607917);
double r2607950 = r2607933 * r2607949;
double r2607951 = r2607950 * r2607949;
double r2607952 = r2607928 - r2607951;
double r2607953 = r2607952 + r2607947;
double r2607954 = r2607946 ? r2607948 : r2607953;
double r2607955 = r2607919 ? r2607944 : r2607954;
return r2607955;
}



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 b < -1.0204593285382147e-230Initial program 10.9
rmApplied add-cube-cbrt11.2
Applied associate-*l*11.2
if -1.0204593285382147e-230 < b < 4.606925696387801e-196Initial program 17.4
Taylor expanded around 0 16.5
if 4.606925696387801e-196 < b Initial program 9.8
rmApplied add-sqr-sqrt9.9
Applied associate-*l*9.9
Final simplification11.8
herbie shell --seed 2019151
(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)))))