Average Error: 11.5 → 11.6
Time: 56.5s
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.3842397113622038 \cdot 10^{-144}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right)\right)\\ \mathbf{elif}\;b \le 3.0720333319504547 \cdot 10^{-215}:\\ \;\;\;\;\left(y \cdot z - t \cdot a\right) \cdot x + \left(c \cdot t - i \cdot y\right) \cdot j\\ \mathbf{else}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right)\right)\\ \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.3842397113622038 \cdot 10^{-144}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right)\right)\\

\mathbf{elif}\;b \le 3.0720333319504547 \cdot 10^{-215}:\\
\;\;\;\;\left(y \cdot z - t \cdot a\right) \cdot x + \left(c \cdot t - i \cdot y\right) \cdot j\\

\mathbf{else}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\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 r10085884 = x;
        double r10085885 = y;
        double r10085886 = z;
        double r10085887 = r10085885 * r10085886;
        double r10085888 = t;
        double r10085889 = a;
        double r10085890 = r10085888 * r10085889;
        double r10085891 = r10085887 - r10085890;
        double r10085892 = r10085884 * r10085891;
        double r10085893 = b;
        double r10085894 = c;
        double r10085895 = r10085894 * r10085886;
        double r10085896 = i;
        double r10085897 = r10085896 * r10085889;
        double r10085898 = r10085895 - r10085897;
        double r10085899 = r10085893 * r10085898;
        double r10085900 = r10085892 - r10085899;
        double r10085901 = j;
        double r10085902 = r10085894 * r10085888;
        double r10085903 = r10085896 * r10085885;
        double r10085904 = r10085902 - r10085903;
        double r10085905 = r10085901 * r10085904;
        double r10085906 = r10085900 + r10085905;
        return r10085906;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r10085907 = b;
        double r10085908 = -1.3842397113622038e-144;
        bool r10085909 = r10085907 <= r10085908;
        double r10085910 = y;
        double r10085911 = z;
        double r10085912 = r10085910 * r10085911;
        double r10085913 = t;
        double r10085914 = a;
        double r10085915 = r10085913 * r10085914;
        double r10085916 = r10085912 - r10085915;
        double r10085917 = x;
        double r10085918 = r10085916 * r10085917;
        double r10085919 = c;
        double r10085920 = r10085919 * r10085911;
        double r10085921 = i;
        double r10085922 = r10085921 * r10085914;
        double r10085923 = r10085920 - r10085922;
        double r10085924 = r10085907 * r10085923;
        double r10085925 = r10085918 - r10085924;
        double r10085926 = j;
        double r10085927 = r10085921 * r10085926;
        double r10085928 = r10085910 * r10085927;
        double r10085929 = -r10085928;
        double r10085930 = r10085919 * r10085913;
        double r10085931 = cbrt(r10085926);
        double r10085932 = r10085930 * r10085931;
        double r10085933 = r10085931 * r10085931;
        double r10085934 = r10085932 * r10085933;
        double r10085935 = r10085929 + r10085934;
        double r10085936 = r10085925 + r10085935;
        double r10085937 = 3.0720333319504547e-215;
        bool r10085938 = r10085907 <= r10085937;
        double r10085939 = r10085921 * r10085910;
        double r10085940 = r10085930 - r10085939;
        double r10085941 = r10085940 * r10085926;
        double r10085942 = r10085918 + r10085941;
        double r10085943 = r10085938 ? r10085942 : r10085936;
        double r10085944 = r10085909 ? r10085936 : r10085943;
        return r10085944;
}

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 2 regimes
  2. if b < -1.3842397113622038e-144 or 3.0720333319504547e-215 < b

    1. Initial program 10.0

      \[\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-cbrt10.3

      \[\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*10.3

      \[\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)}\]
    5. Using strategy rm
    6. Applied sub-neg10.3

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

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

      \[\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 \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) + \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(\left(-i \cdot y\right) \cdot \sqrt[3]{j}\right)\right)}\]
    9. Simplified10.2

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

    if -1.3842397113622038e-144 < b < 3.0720333319504547e-215

    1. Initial program 15.7

      \[\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 15.4

      \[\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)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -1.3842397113622038 \cdot 10^{-144}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right)\right)\\ \mathbf{elif}\;b \le 3.0720333319504547 \cdot 10^{-215}:\\ \;\;\;\;\left(y \cdot z - t \cdot a\right) \cdot x + \left(c \cdot t - i \cdot y\right) \cdot j\\ \mathbf{else}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(-y \cdot \left(i \cdot j\right)\right) + \left(\left(c \cdot t\right) \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019119 
(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)))))