Average Error: 11.8 → 11.8
Time: 31.9s
Precision: 64
\[\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}\]
\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;
}

Error

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if b < -1.0204593285382147e-230

    1. Initial program 10.9

      \[\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)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt11.2

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \color{blue}{\left(\left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \sqrt[3]{j}\right)} \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Applied associate-*l*11.2

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \color{blue}{\left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \left(c \cdot t - i \cdot y\right)\right)}\]

    if -1.0204593285382147e-230 < b < 4.606925696387801e-196

    1. Initial program 17.4

      \[\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)\]
    2. Taylor expanded around 0 16.5

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{0}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]

    if 4.606925696387801e-196 < b

    1. Initial program 9.8

      \[\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)\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt9.9

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{\left(\sqrt{b} \cdot \sqrt{b}\right)} \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Applied associate-*l*9.9

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{\sqrt{b} \cdot \left(\sqrt{b} \cdot \left(c \cdot z - i \cdot a\right)\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification11.8

    \[\leadsto \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}\]

Reproduce

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)))))