Average Error: 12.0 → 9.7
Time: 29.9s
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 -6.28675062008647420685048405194703959789 \cdot 10^{-106}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\sqrt[3]{y \cdot z - a \cdot t} \cdot \left(\sqrt[3]{y \cdot z - a \cdot t} \cdot \sqrt[3]{y \cdot z - a \cdot t}\right)\right) \cdot x - b \cdot \left(z \cdot c - i \cdot a\right)\right)\\ \mathbf{elif}\;x \le 1.718764671788456768674222323018543641954 \cdot 10^{-95}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(y \cdot x\right) \cdot z + \left(x \cdot t\right) \cdot \left(-a\right)\right) - \left(\sqrt[3]{b} \cdot \left(z \cdot c - i \cdot a\right)\right) \cdot \left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(-x \cdot \left(a \cdot t\right)\right) + \sqrt{x} \cdot \left(\left(y \cdot z\right) \cdot \sqrt{x}\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 -6.28675062008647420685048405194703959789 \cdot 10^{-106}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\sqrt[3]{y \cdot z - a \cdot t} \cdot \left(\sqrt[3]{y \cdot z - a \cdot t} \cdot \sqrt[3]{y \cdot z - a \cdot t}\right)\right) \cdot x - b \cdot \left(z \cdot c - i \cdot a\right)\right)\\

\mathbf{elif}\;x \le 1.718764671788456768674222323018543641954 \cdot 10^{-95}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(y \cdot x\right) \cdot z + \left(x \cdot t\right) \cdot \left(-a\right)\right) - \left(\sqrt[3]{b} \cdot \left(z \cdot c - i \cdot a\right)\right) \cdot \left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(-x \cdot \left(a \cdot t\right)\right) + \sqrt{x} \cdot \left(\left(y \cdot z\right) \cdot \sqrt{x}\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 r4331836 = x;
        double r4331837 = y;
        double r4331838 = z;
        double r4331839 = r4331837 * r4331838;
        double r4331840 = t;
        double r4331841 = a;
        double r4331842 = r4331840 * r4331841;
        double r4331843 = r4331839 - r4331842;
        double r4331844 = r4331836 * r4331843;
        double r4331845 = b;
        double r4331846 = c;
        double r4331847 = r4331846 * r4331838;
        double r4331848 = i;
        double r4331849 = r4331848 * r4331841;
        double r4331850 = r4331847 - r4331849;
        double r4331851 = r4331845 * r4331850;
        double r4331852 = r4331844 - r4331851;
        double r4331853 = j;
        double r4331854 = r4331846 * r4331840;
        double r4331855 = r4331848 * r4331837;
        double r4331856 = r4331854 - r4331855;
        double r4331857 = r4331853 * r4331856;
        double r4331858 = r4331852 + r4331857;
        return r4331858;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r4331859 = x;
        double r4331860 = -6.286750620086474e-106;
        bool r4331861 = r4331859 <= r4331860;
        double r4331862 = c;
        double r4331863 = t;
        double r4331864 = r4331862 * r4331863;
        double r4331865 = y;
        double r4331866 = i;
        double r4331867 = r4331865 * r4331866;
        double r4331868 = r4331864 - r4331867;
        double r4331869 = j;
        double r4331870 = r4331868 * r4331869;
        double r4331871 = z;
        double r4331872 = r4331865 * r4331871;
        double r4331873 = a;
        double r4331874 = r4331873 * r4331863;
        double r4331875 = r4331872 - r4331874;
        double r4331876 = cbrt(r4331875);
        double r4331877 = r4331876 * r4331876;
        double r4331878 = r4331876 * r4331877;
        double r4331879 = r4331878 * r4331859;
        double r4331880 = b;
        double r4331881 = r4331871 * r4331862;
        double r4331882 = r4331866 * r4331873;
        double r4331883 = r4331881 - r4331882;
        double r4331884 = r4331880 * r4331883;
        double r4331885 = r4331879 - r4331884;
        double r4331886 = r4331870 + r4331885;
        double r4331887 = 1.7187646717884568e-95;
        bool r4331888 = r4331859 <= r4331887;
        double r4331889 = r4331865 * r4331859;
        double r4331890 = r4331889 * r4331871;
        double r4331891 = r4331859 * r4331863;
        double r4331892 = -r4331873;
        double r4331893 = r4331891 * r4331892;
        double r4331894 = r4331890 + r4331893;
        double r4331895 = cbrt(r4331880);
        double r4331896 = r4331895 * r4331883;
        double r4331897 = r4331895 * r4331895;
        double r4331898 = r4331896 * r4331897;
        double r4331899 = r4331894 - r4331898;
        double r4331900 = r4331870 + r4331899;
        double r4331901 = r4331859 * r4331874;
        double r4331902 = -r4331901;
        double r4331903 = sqrt(r4331859);
        double r4331904 = r4331872 * r4331903;
        double r4331905 = r4331903 * r4331904;
        double r4331906 = r4331902 + r4331905;
        double r4331907 = r4331906 - r4331884;
        double r4331908 = r4331870 + r4331907;
        double r4331909 = r4331888 ? r4331900 : r4331908;
        double r4331910 = r4331861 ? r4331886 : r4331909;
        return r4331910;
}

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 < -6.286750620086474e-106

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

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

    if -6.286750620086474e-106 < x < 1.7187646717884568e-95

    1. Initial program 17.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-neg17.0

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

      \[\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 associate-*r*13.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) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    7. Using strategy rm
    8. Applied distribute-lft-neg-in13.9

      \[\leadsto \left(\left(\left(x \cdot y\right) \cdot z + x \cdot \color{blue}{\left(\left(-t\right) \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)\]
    9. Applied associate-*r*10.9

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

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

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

    if 1.7187646717884568e-95 < x

    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 \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-in8.0

      \[\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 add-sqr-sqrt8.1

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

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

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

Reproduce

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