Average Error: 12.0 → 11.4
Time: 29.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)\]
\[\begin{array}{l} \mathbf{if}\;x \le -3.070193068145833190122055894254729817899 \cdot 10^{-283}:\\ \;\;\;\;\left(\left(y \cdot z - a \cdot t\right) \cdot x - b \cdot \left(z \cdot c - i \cdot a\right)\right) + \left(\left(\sqrt[3]{c \cdot t - i \cdot y} \cdot \sqrt[3]{c \cdot t - i \cdot y}\right) \cdot j\right) \cdot \sqrt[3]{c \cdot t - i \cdot y}\\ \mathbf{elif}\;x \le 1.273716925755540258919533772715346247145 \cdot 10^{-203}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\left(i \cdot b\right) \cdot a - \left(\left(x \cdot t\right) \cdot a + \left(b \cdot c\right) \cdot z\right)\right)\\ \mathbf{else}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - a \cdot t\right)\right) - b \cdot \left(z \cdot c - i \cdot a\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}\;x \le -3.070193068145833190122055894254729817899 \cdot 10^{-283}:\\
\;\;\;\;\left(\left(y \cdot z - a \cdot t\right) \cdot x - b \cdot \left(z \cdot c - i \cdot a\right)\right) + \left(\left(\sqrt[3]{c \cdot t - i \cdot y} \cdot \sqrt[3]{c \cdot t - i \cdot y}\right) \cdot j\right) \cdot \sqrt[3]{c \cdot t - i \cdot y}\\

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

\mathbf{else}:\\
\;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - a \cdot t\right)\right) - b \cdot \left(z \cdot c - i \cdot a\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 r5325709 = x;
        double r5325710 = y;
        double r5325711 = z;
        double r5325712 = r5325710 * r5325711;
        double r5325713 = t;
        double r5325714 = a;
        double r5325715 = r5325713 * r5325714;
        double r5325716 = r5325712 - r5325715;
        double r5325717 = r5325709 * r5325716;
        double r5325718 = b;
        double r5325719 = c;
        double r5325720 = r5325719 * r5325711;
        double r5325721 = i;
        double r5325722 = r5325721 * r5325714;
        double r5325723 = r5325720 - r5325722;
        double r5325724 = r5325718 * r5325723;
        double r5325725 = r5325717 - r5325724;
        double r5325726 = j;
        double r5325727 = r5325719 * r5325713;
        double r5325728 = r5325721 * r5325710;
        double r5325729 = r5325727 - r5325728;
        double r5325730 = r5325726 * r5325729;
        double r5325731 = r5325725 + r5325730;
        return r5325731;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r5325732 = x;
        double r5325733 = -3.070193068145833e-283;
        bool r5325734 = r5325732 <= r5325733;
        double r5325735 = y;
        double r5325736 = z;
        double r5325737 = r5325735 * r5325736;
        double r5325738 = a;
        double r5325739 = t;
        double r5325740 = r5325738 * r5325739;
        double r5325741 = r5325737 - r5325740;
        double r5325742 = r5325741 * r5325732;
        double r5325743 = b;
        double r5325744 = c;
        double r5325745 = r5325736 * r5325744;
        double r5325746 = i;
        double r5325747 = r5325746 * r5325738;
        double r5325748 = r5325745 - r5325747;
        double r5325749 = r5325743 * r5325748;
        double r5325750 = r5325742 - r5325749;
        double r5325751 = r5325744 * r5325739;
        double r5325752 = r5325746 * r5325735;
        double r5325753 = r5325751 - r5325752;
        double r5325754 = cbrt(r5325753);
        double r5325755 = r5325754 * r5325754;
        double r5325756 = j;
        double r5325757 = r5325755 * r5325756;
        double r5325758 = r5325757 * r5325754;
        double r5325759 = r5325750 + r5325758;
        double r5325760 = 1.2737169257555403e-203;
        bool r5325761 = r5325732 <= r5325760;
        double r5325762 = r5325756 * r5325753;
        double r5325763 = r5325746 * r5325743;
        double r5325764 = r5325763 * r5325738;
        double r5325765 = r5325732 * r5325739;
        double r5325766 = r5325765 * r5325738;
        double r5325767 = r5325743 * r5325744;
        double r5325768 = r5325767 * r5325736;
        double r5325769 = r5325766 + r5325768;
        double r5325770 = r5325764 - r5325769;
        double r5325771 = r5325762 + r5325770;
        double r5325772 = sqrt(r5325732);
        double r5325773 = r5325772 * r5325741;
        double r5325774 = r5325772 * r5325773;
        double r5325775 = r5325774 - r5325749;
        double r5325776 = r5325762 + r5325775;
        double r5325777 = r5325761 ? r5325771 : r5325776;
        double r5325778 = r5325734 ? r5325759 : r5325777;
        return r5325778;
}

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 x < -3.070193068145833e-283

    1. Initial program 11.7

      \[\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-cbrt12.0

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

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

    if -3.070193068145833e-283 < x < 1.2737169257555403e-203

    1. Initial program 16.9

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

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

    if 1.2737169257555403e-203 < x

    1. Initial program 10.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-sqr-sqrt10.7

      \[\leadsto \left(\color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)} \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)\]
    4. Applied associate-*l*10.7

      \[\leadsto \left(\color{blue}{\sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - 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)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification11.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -3.070193068145833190122055894254729817899 \cdot 10^{-283}:\\ \;\;\;\;\left(\left(y \cdot z - a \cdot t\right) \cdot x - b \cdot \left(z \cdot c - i \cdot a\right)\right) + \left(\left(\sqrt[3]{c \cdot t - i \cdot y} \cdot \sqrt[3]{c \cdot t - i \cdot y}\right) \cdot j\right) \cdot \sqrt[3]{c \cdot t - i \cdot y}\\ \mathbf{elif}\;x \le 1.273716925755540258919533772715346247145 \cdot 10^{-203}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\left(i \cdot b\right) \cdot a - \left(\left(x \cdot t\right) \cdot a + \left(b \cdot c\right) \cdot z\right)\right)\\ \mathbf{else}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - a \cdot t\right)\right) - b \cdot \left(z \cdot c - i \cdot a\right)\right)\\ \end{array}\]

Reproduce

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