Average Error: 11.7 → 10.2
Time: 24.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}\;b \le -141371178818472623329628460679168:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\ \mathbf{elif}\;b \le -6.482736156751154442668482259658527203673 \cdot 10^{-89}:\\ \;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\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 \left(c \cdot t - i \cdot y\right)\right)\\ \mathbf{elif}\;b \le -3.838510006314839306112517355982681192234 \cdot 10^{-168} \lor \neg \left(b \le 3.666327056401254127896974756627795417469 \cdot 10^{-116}\right):\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) - a \cdot \left(i \cdot b\right)\right)\right) + \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \left(c \cdot t - 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}\;b \le -141371178818472623329628460679168:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\

\mathbf{elif}\;b \le -6.482736156751154442668482259658527203673 \cdot 10^{-89}:\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\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 \left(c \cdot t - i \cdot y\right)\right)\\

\mathbf{elif}\;b \le -3.838510006314839306112517355982681192234 \cdot 10^{-168} \lor \neg \left(b \le 3.666327056401254127896974756627795417469 \cdot 10^{-116}\right):\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) - a \cdot \left(i \cdot b\right)\right)\right) + \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \left(c \cdot t - 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 r95661 = x;
        double r95662 = y;
        double r95663 = z;
        double r95664 = r95662 * r95663;
        double r95665 = t;
        double r95666 = a;
        double r95667 = r95665 * r95666;
        double r95668 = r95664 - r95667;
        double r95669 = r95661 * r95668;
        double r95670 = b;
        double r95671 = c;
        double r95672 = r95671 * r95663;
        double r95673 = i;
        double r95674 = r95673 * r95666;
        double r95675 = r95672 - r95674;
        double r95676 = r95670 * r95675;
        double r95677 = r95669 - r95676;
        double r95678 = j;
        double r95679 = r95671 * r95665;
        double r95680 = r95673 * r95662;
        double r95681 = r95679 - r95680;
        double r95682 = r95678 * r95681;
        double r95683 = r95677 + r95682;
        return r95683;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r95684 = b;
        double r95685 = -1.4137117881847262e+32;
        bool r95686 = r95684 <= r95685;
        double r95687 = x;
        double r95688 = y;
        double r95689 = z;
        double r95690 = r95688 * r95689;
        double r95691 = t;
        double r95692 = a;
        double r95693 = r95691 * r95692;
        double r95694 = r95690 - r95693;
        double r95695 = r95687 * r95694;
        double r95696 = c;
        double r95697 = r95696 * r95689;
        double r95698 = i;
        double r95699 = r95698 * r95692;
        double r95700 = r95697 - r95699;
        double r95701 = r95684 * r95700;
        double r95702 = r95695 - r95701;
        double r95703 = j;
        double r95704 = r95703 * r95696;
        double r95705 = r95691 * r95704;
        double r95706 = r95703 * r95688;
        double r95707 = r95698 * r95706;
        double r95708 = r95705 - r95707;
        double r95709 = r95702 + r95708;
        double r95710 = -6.482736156751154e-89;
        bool r95711 = r95684 <= r95710;
        double r95712 = r95689 * r95688;
        double r95713 = r95687 * r95712;
        double r95714 = r95687 * r95691;
        double r95715 = r95692 * r95714;
        double r95716 = r95713 - r95715;
        double r95717 = r95716 - r95701;
        double r95718 = cbrt(r95703);
        double r95719 = r95718 * r95718;
        double r95720 = r95696 * r95691;
        double r95721 = r95698 * r95688;
        double r95722 = r95720 - r95721;
        double r95723 = r95718 * r95722;
        double r95724 = r95719 * r95723;
        double r95725 = r95717 + r95724;
        double r95726 = -3.8385100063148393e-168;
        bool r95727 = r95684 <= r95726;
        double r95728 = 3.666327056401254e-116;
        bool r95729 = r95684 <= r95728;
        double r95730 = !r95729;
        bool r95731 = r95727 || r95730;
        double r95732 = r95684 * r95696;
        double r95733 = r95689 * r95732;
        double r95734 = r95698 * r95684;
        double r95735 = r95692 * r95734;
        double r95736 = r95733 - r95735;
        double r95737 = r95695 - r95736;
        double r95738 = r95737 + r95724;
        double r95739 = r95731 ? r95709 : r95738;
        double r95740 = r95711 ? r95725 : r95739;
        double r95741 = r95686 ? r95709 : r95740;
        return r95741;
}

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 b < -1.4137117881847262e+32 or -6.482736156751154e-89 < b < -3.8385100063148393e-168 or 3.666327056401254e-116 < b

    1. Initial program 9.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 add-cube-cbrt9.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*9.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. Taylor expanded around inf 10.1

      \[\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(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)}\]

    if -1.4137117881847262e+32 < b < -6.482736156751154e-89

    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.2

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

      \[\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. Taylor expanded around inf 11.2

      \[\leadsto \left(\color{blue}{\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\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 \left(c \cdot t - i \cdot y\right)\right)\]

    if -3.8385100063148393e-168 < b < 3.666327056401254e-116

    1. Initial program 16.6

      \[\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-cbrt16.9

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

      \[\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. Taylor expanded around inf 10.2

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -141371178818472623329628460679168:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\ \mathbf{elif}\;b \le -6.482736156751154442668482259658527203673 \cdot 10^{-89}:\\ \;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\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 \left(c \cdot t - i \cdot y\right)\right)\\ \mathbf{elif}\;b \le -3.838510006314839306112517355982681192234 \cdot 10^{-168} \lor \neg \left(b \le 3.666327056401254127896974756627795417469 \cdot 10^{-116}\right):\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) - i \cdot \left(j \cdot y\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) - a \cdot \left(i \cdot b\right)\right)\right) + \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \left(c \cdot t - i \cdot y\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019305 +o rules:numerics
(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)))))