Average Error: 12.1 → 11.5
Time: 8.1s
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}\;j \le -158.538985715396592:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + -1 \cdot \left(a \cdot \left(i \cdot b\right)\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-j\right) \cdot \left(i \cdot y\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}\;j \le -158.538985715396592:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + -1 \cdot \left(a \cdot \left(i \cdot b\right)\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\

\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-j\right) \cdot \left(i \cdot y\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 r92114 = x;
        double r92115 = y;
        double r92116 = z;
        double r92117 = r92115 * r92116;
        double r92118 = t;
        double r92119 = a;
        double r92120 = r92118 * r92119;
        double r92121 = r92117 - r92120;
        double r92122 = r92114 * r92121;
        double r92123 = b;
        double r92124 = c;
        double r92125 = r92124 * r92116;
        double r92126 = i;
        double r92127 = r92126 * r92119;
        double r92128 = r92125 - r92127;
        double r92129 = r92123 * r92128;
        double r92130 = r92122 - r92129;
        double r92131 = j;
        double r92132 = r92124 * r92118;
        double r92133 = r92126 * r92115;
        double r92134 = r92132 - r92133;
        double r92135 = r92131 * r92134;
        double r92136 = r92130 + r92135;
        return r92136;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r92137 = j;
        double r92138 = -158.5389857153966;
        bool r92139 = r92137 <= r92138;
        double r92140 = x;
        double r92141 = y;
        double r92142 = z;
        double r92143 = r92141 * r92142;
        double r92144 = t;
        double r92145 = a;
        double r92146 = r92144 * r92145;
        double r92147 = r92143 - r92146;
        double r92148 = r92140 * r92147;
        double r92149 = b;
        double r92150 = c;
        double r92151 = r92150 * r92142;
        double r92152 = r92149 * r92151;
        double r92153 = -1.0;
        double r92154 = i;
        double r92155 = r92154 * r92149;
        double r92156 = r92145 * r92155;
        double r92157 = r92153 * r92156;
        double r92158 = r92152 + r92157;
        double r92159 = r92148 - r92158;
        double r92160 = r92150 * r92144;
        double r92161 = r92154 * r92141;
        double r92162 = r92160 - r92161;
        double r92163 = r92137 * r92162;
        double r92164 = r92159 + r92163;
        double r92165 = r92154 * r92145;
        double r92166 = -r92165;
        double r92167 = r92149 * r92166;
        double r92168 = r92152 + r92167;
        double r92169 = r92148 - r92168;
        double r92170 = r92137 * r92150;
        double r92171 = r92144 * r92170;
        double r92172 = -r92137;
        double r92173 = r92172 * r92161;
        double r92174 = r92171 + r92173;
        double r92175 = r92169 + r92174;
        double r92176 = r92139 ? r92164 : r92175;
        return r92176;
}

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 j < -158.5389857153966

    1. Initial program 8.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 sub-neg8.0

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

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

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

    if -158.5389857153966 < j

    1. Initial program 13.1

      \[\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 sub-neg13.1

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

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

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\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)\]
    7. Applied associate-*l*13.3

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\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)}\]
    8. Using strategy rm
    9. Applied sub-neg13.3

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\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)\]
    10. Applied distribute-lft-in13.3

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;j \le -158.538985715396592:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + -1 \cdot \left(a \cdot \left(i \cdot b\right)\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-j\right) \cdot \left(i \cdot y\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020003 
(FPCore (x y z t a b c i j)
  :name "Linear.Matrix:det33 from linear-1.19.1.3"
  :precision binary64
  (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))