Average Error: 12.3 → 10.7
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 -1.76023307603761202409938293253843061099 \cdot 10^{58}:\\ \;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + \left(\sqrt[3]{x \cdot \left(-t \cdot a\right)} \cdot \sqrt[3]{x \cdot \left(-t \cdot a\right)}\right) \cdot \sqrt[3]{x \cdot \left(-t \cdot a\right)}\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)\\ \mathbf{elif}\;j \le 1.516551054990740022970306969909426253394 \cdot 10^{61}:\\ \;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(j \cdot c\right) \cdot t + j \cdot \left(-i \cdot y\right)\right)\\ \mathbf{elif}\;j \le 2.85640851406350578387766548712466692209 \cdot 10^{304}:\\ \;\;\;\;\left(\left(\left(x \cdot y\right) \cdot z + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(j \cdot c\right) \cdot t + j \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 -1.76023307603761202409938293253843061099 \cdot 10^{58}:\\
\;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + \left(\sqrt[3]{x \cdot \left(-t \cdot a\right)} \cdot \sqrt[3]{x \cdot \left(-t \cdot a\right)}\right) \cdot \sqrt[3]{x \cdot \left(-t \cdot a\right)}\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)\\

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

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

\mathbf{else}:\\
\;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(j \cdot c\right) \cdot t + j \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 r136019 = x;
        double r136020 = y;
        double r136021 = z;
        double r136022 = r136020 * r136021;
        double r136023 = t;
        double r136024 = a;
        double r136025 = r136023 * r136024;
        double r136026 = r136022 - r136025;
        double r136027 = r136019 * r136026;
        double r136028 = b;
        double r136029 = c;
        double r136030 = r136029 * r136021;
        double r136031 = i;
        double r136032 = r136031 * r136024;
        double r136033 = r136030 - r136032;
        double r136034 = r136028 * r136033;
        double r136035 = r136027 - r136034;
        double r136036 = j;
        double r136037 = r136029 * r136023;
        double r136038 = r136031 * r136020;
        double r136039 = r136037 - r136038;
        double r136040 = r136036 * r136039;
        double r136041 = r136035 + r136040;
        return r136041;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r136042 = j;
        double r136043 = -1.760233076037612e+58;
        bool r136044 = r136042 <= r136043;
        double r136045 = x;
        double r136046 = y;
        double r136047 = z;
        double r136048 = r136046 * r136047;
        double r136049 = r136045 * r136048;
        double r136050 = t;
        double r136051 = a;
        double r136052 = r136050 * r136051;
        double r136053 = -r136052;
        double r136054 = r136045 * r136053;
        double r136055 = cbrt(r136054);
        double r136056 = r136055 * r136055;
        double r136057 = r136056 * r136055;
        double r136058 = r136049 + r136057;
        double r136059 = b;
        double r136060 = c;
        double r136061 = r136060 * r136047;
        double r136062 = i;
        double r136063 = r136062 * r136051;
        double r136064 = r136061 - r136063;
        double r136065 = r136059 * r136064;
        double r136066 = r136058 - r136065;
        double r136067 = r136060 * r136050;
        double r136068 = r136042 * r136067;
        double r136069 = r136062 * r136046;
        double r136070 = -r136069;
        double r136071 = r136042 * r136070;
        double r136072 = r136068 + r136071;
        double r136073 = r136066 + r136072;
        double r136074 = 1.51655105499074e+61;
        bool r136075 = r136042 <= r136074;
        double r136076 = r136049 + r136054;
        double r136077 = r136076 - r136065;
        double r136078 = r136042 * r136060;
        double r136079 = r136078 * r136050;
        double r136080 = r136079 + r136071;
        double r136081 = r136077 + r136080;
        double r136082 = 2.856408514063506e+304;
        bool r136083 = r136042 <= r136082;
        double r136084 = r136045 * r136046;
        double r136085 = r136084 * r136047;
        double r136086 = r136085 + r136054;
        double r136087 = r136086 - r136065;
        double r136088 = r136087 + r136072;
        double r136089 = r136083 ? r136088 : r136081;
        double r136090 = r136075 ? r136081 : r136089;
        double r136091 = r136044 ? r136073 : r136090;
        return r136091;
}

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 j < -1.760233076037612e+58

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

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

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

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

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

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

    if -1.760233076037612e+58 < j < 1.51655105499074e+61 or 2.856408514063506e+304 < j

    1. Initial program 14.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. Using strategy rm
    3. Applied sub-neg14.2

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

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

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

      \[\leadsto \left(\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \color{blue}{\left(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)}\]
    8. Using strategy rm
    9. Applied associate-*r*12.1

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

    if 1.51655105499074e+61 < j < 2.856408514063506e+304

    1. Initial program 6.5

      \[\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-neg6.5

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

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

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

      \[\leadsto \left(\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \color{blue}{\left(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)}\]
    8. Using strategy rm
    9. Applied associate-*r*5.9

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;j \le -1.76023307603761202409938293253843061099 \cdot 10^{58}:\\ \;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + \left(\sqrt[3]{x \cdot \left(-t \cdot a\right)} \cdot \sqrt[3]{x \cdot \left(-t \cdot a\right)}\right) \cdot \sqrt[3]{x \cdot \left(-t \cdot a\right)}\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)\\ \mathbf{elif}\;j \le 1.516551054990740022970306969909426253394 \cdot 10^{61}:\\ \;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(j \cdot c\right) \cdot t + j \cdot \left(-i \cdot y\right)\right)\\ \mathbf{elif}\;j \le 2.85640851406350578387766548712466692209 \cdot 10^{304}:\\ \;\;\;\;\left(\left(\left(x \cdot y\right) \cdot z + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(j \cdot c\right) \cdot t + j \cdot \left(-i \cdot y\right)\right)\\ \end{array}\]

Reproduce

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