Average Error: 11.4 → 12.9
Time: 50.0s
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}\;t \le -1.2667579725703296 \cdot 10^{+206}:\\ \;\;\;\;(j \cdot \left(c \cdot t - i \cdot y\right) + \left(x \cdot (z \cdot y + \left(t \cdot \left(-a\right)\right))_* - \left(b \cdot \sqrt[3]{c \cdot z - a \cdot i}\right) \cdot \left(\sqrt[3]{c \cdot z - a \cdot i} \cdot \sqrt[3]{c \cdot z - a \cdot i}\right)\right))_*\\ \mathbf{elif}\;t \le -3.0309668756000874 \cdot 10^{+110}:\\ \;\;\;\;b \cdot \left(a \cdot i - c \cdot z\right) - a \cdot \left(x \cdot t\right)\\ \mathbf{else}:\\ \;\;\;\;(j \cdot \left(c \cdot t - i \cdot y\right) + \left(x \cdot (z \cdot y + \left(t \cdot \left(-a\right)\right))_* - \sqrt[3]{b} \cdot \left(\left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right) \cdot \left(c \cdot z - a \cdot i\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 r9934019 = x;
        double r9934020 = y;
        double r9934021 = z;
        double r9934022 = r9934020 * r9934021;
        double r9934023 = t;
        double r9934024 = a;
        double r9934025 = r9934023 * r9934024;
        double r9934026 = r9934022 - r9934025;
        double r9934027 = r9934019 * r9934026;
        double r9934028 = b;
        double r9934029 = c;
        double r9934030 = r9934029 * r9934021;
        double r9934031 = i;
        double r9934032 = r9934031 * r9934024;
        double r9934033 = r9934030 - r9934032;
        double r9934034 = r9934028 * r9934033;
        double r9934035 = r9934027 - r9934034;
        double r9934036 = j;
        double r9934037 = r9934029 * r9934023;
        double r9934038 = r9934031 * r9934020;
        double r9934039 = r9934037 - r9934038;
        double r9934040 = r9934036 * r9934039;
        double r9934041 = r9934035 + r9934040;
        return r9934041;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r9934042 = t;
        double r9934043 = -1.2667579725703296e+206;
        bool r9934044 = r9934042 <= r9934043;
        double r9934045 = j;
        double r9934046 = c;
        double r9934047 = r9934046 * r9934042;
        double r9934048 = i;
        double r9934049 = y;
        double r9934050 = r9934048 * r9934049;
        double r9934051 = r9934047 - r9934050;
        double r9934052 = x;
        double r9934053 = z;
        double r9934054 = a;
        double r9934055 = -r9934054;
        double r9934056 = r9934042 * r9934055;
        double r9934057 = fma(r9934053, r9934049, r9934056);
        double r9934058 = r9934052 * r9934057;
        double r9934059 = b;
        double r9934060 = r9934046 * r9934053;
        double r9934061 = r9934054 * r9934048;
        double r9934062 = r9934060 - r9934061;
        double r9934063 = cbrt(r9934062);
        double r9934064 = r9934059 * r9934063;
        double r9934065 = r9934063 * r9934063;
        double r9934066 = r9934064 * r9934065;
        double r9934067 = r9934058 - r9934066;
        double r9934068 = fma(r9934045, r9934051, r9934067);
        double r9934069 = -3.0309668756000874e+110;
        bool r9934070 = r9934042 <= r9934069;
        double r9934071 = r9934061 - r9934060;
        double r9934072 = r9934059 * r9934071;
        double r9934073 = r9934052 * r9934042;
        double r9934074 = r9934054 * r9934073;
        double r9934075 = r9934072 - r9934074;
        double r9934076 = cbrt(r9934059);
        double r9934077 = r9934076 * r9934076;
        double r9934078 = r9934077 * r9934062;
        double r9934079 = r9934076 * r9934078;
        double r9934080 = r9934058 - r9934079;
        double r9934081 = fma(r9934045, r9934051, r9934080);
        double r9934082 = r9934070 ? r9934075 : r9934081;
        double r9934083 = r9934044 ? r9934068 : r9934082;
        return r9934083;
}

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

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

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

\end{array}

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. Split input into 3 regimes
  2. if t < -1.2667579725703296e+206

    1. Initial program 25.2

      \[\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. Simplified25.2

      \[\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 fma-neg25.2

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

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

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

    if -1.2667579725703296e+206 < t < -3.0309668756000874e+110

    1. Initial program 18.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. Simplified18.2

      \[\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 fma-neg18.2

      \[\leadsto (j \cdot \left(t \cdot c - y \cdot i\right) + \left(\color{blue}{(z \cdot y + \left(-t \cdot a\right))_*} \cdot x - \left(z \cdot c - i \cdot a\right) \cdot b\right))_*\]
    5. Taylor expanded around inf 38.8

      \[\leadsto \color{blue}{a \cdot \left(i \cdot b\right) - \left(z \cdot \left(b \cdot c\right) + a \cdot \left(x \cdot t\right)\right)}\]
    6. Simplified38.2

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

    if -3.0309668756000874e+110 < t

    1. Initial program 10.2

      \[\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. Simplified10.2

      \[\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 fma-neg10.2

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

      \[\leadsto (j \cdot \left(t \cdot c - y \cdot i\right) + \left((z \cdot y + \left(-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))_*\]
    7. Applied associate-*r*10.6

      \[\leadsto (j \cdot \left(t \cdot c - y \cdot i\right) + \left((z \cdot y + \left(-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))_*\]
  3. Recombined 3 regimes into one program.
  4. Final simplification12.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -1.2667579725703296 \cdot 10^{+206}:\\ \;\;\;\;(j \cdot \left(c \cdot t - i \cdot y\right) + \left(x \cdot (z \cdot y + \left(t \cdot \left(-a\right)\right))_* - \left(b \cdot \sqrt[3]{c \cdot z - a \cdot i}\right) \cdot \left(\sqrt[3]{c \cdot z - a \cdot i} \cdot \sqrt[3]{c \cdot z - a \cdot i}\right)\right))_*\\ \mathbf{elif}\;t \le -3.0309668756000874 \cdot 10^{+110}:\\ \;\;\;\;b \cdot \left(a \cdot i - c \cdot z\right) - a \cdot \left(x \cdot t\right)\\ \mathbf{else}:\\ \;\;\;\;(j \cdot \left(c \cdot t - i \cdot y\right) + \left(x \cdot (z \cdot y + \left(t \cdot \left(-a\right)\right))_* - \sqrt[3]{b} \cdot \left(\left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right) \cdot \left(c \cdot z - a \cdot i\right)\right)\right))_*\\ \end{array}\]

Reproduce

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