Average Error: 11.3 → 11.6
Time: 46.8s
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)\]
\[(j \cdot \left(c \cdot t - y \cdot i\right) + \left(x \cdot \left(y \cdot z - a \cdot t\right) - \left(\left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right) \cdot \left(c \cdot z - i \cdot a\right)\right) \cdot \sqrt[3]{b}\right))_*\]
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r8286050 = x;
        double r8286051 = y;
        double r8286052 = z;
        double r8286053 = r8286051 * r8286052;
        double r8286054 = t;
        double r8286055 = a;
        double r8286056 = r8286054 * r8286055;
        double r8286057 = r8286053 - r8286056;
        double r8286058 = r8286050 * r8286057;
        double r8286059 = b;
        double r8286060 = c;
        double r8286061 = r8286060 * r8286052;
        double r8286062 = i;
        double r8286063 = r8286062 * r8286055;
        double r8286064 = r8286061 - r8286063;
        double r8286065 = r8286059 * r8286064;
        double r8286066 = r8286058 - r8286065;
        double r8286067 = j;
        double r8286068 = r8286060 * r8286054;
        double r8286069 = r8286062 * r8286051;
        double r8286070 = r8286068 - r8286069;
        double r8286071 = r8286067 * r8286070;
        double r8286072 = r8286066 + r8286071;
        return r8286072;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r8286073 = j;
        double r8286074 = c;
        double r8286075 = t;
        double r8286076 = r8286074 * r8286075;
        double r8286077 = y;
        double r8286078 = i;
        double r8286079 = r8286077 * r8286078;
        double r8286080 = r8286076 - r8286079;
        double r8286081 = x;
        double r8286082 = z;
        double r8286083 = r8286077 * r8286082;
        double r8286084 = a;
        double r8286085 = r8286084 * r8286075;
        double r8286086 = r8286083 - r8286085;
        double r8286087 = r8286081 * r8286086;
        double r8286088 = b;
        double r8286089 = cbrt(r8286088);
        double r8286090 = r8286089 * r8286089;
        double r8286091 = r8286074 * r8286082;
        double r8286092 = r8286078 * r8286084;
        double r8286093 = r8286091 - r8286092;
        double r8286094 = r8286090 * r8286093;
        double r8286095 = r8286094 * r8286089;
        double r8286096 = r8286087 - r8286095;
        double r8286097 = fma(r8286073, r8286080, r8286096);
        return r8286097;
}

\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)
(j \cdot \left(c \cdot t - y \cdot i\right) + \left(x \cdot \left(y \cdot z - a \cdot t\right) - \left(\left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right) \cdot \left(c \cdot z - i \cdot a\right)\right) \cdot \sqrt[3]{b}\right))_*

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

Derivation

  1. Initial program 11.3

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

    \[\leadsto \color{blue}{(j \cdot \left(t \cdot c - y \cdot i\right) + \left(\left(z \cdot y - t \cdot a\right) \cdot x - \left(z \cdot c - i \cdot a\right) \cdot b\right))_*}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt11.6

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

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

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

Reproduce

herbie shell --seed 2019101 +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)))))