Average Error: 12.4 → 10.8
Time: 9.6s
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 -14482254703626618601594894635614964694380000:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot 0\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{elif}\;j \le 8.67861097859172234291931281209881540203 \cdot 10^{61}:\\ \;\;\;\;\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) + -1 \cdot \left(i \cdot \left(y \cdot j\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt{j} \cdot \left(\sqrt{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}\;j \le -14482254703626618601594894635614964694380000:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot 0\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\

\mathbf{elif}\;j \le 8.67861097859172234291931281209881540203 \cdot 10^{61}:\\
\;\;\;\;\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) + -1 \cdot \left(i \cdot \left(y \cdot j\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt{j} \cdot \left(\sqrt{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 r95690 = x;
        double r95691 = y;
        double r95692 = z;
        double r95693 = r95691 * r95692;
        double r95694 = t;
        double r95695 = a;
        double r95696 = r95694 * r95695;
        double r95697 = r95693 - r95696;
        double r95698 = r95690 * r95697;
        double r95699 = b;
        double r95700 = c;
        double r95701 = r95700 * r95692;
        double r95702 = i;
        double r95703 = r95702 * r95695;
        double r95704 = r95701 - r95703;
        double r95705 = r95699 * r95704;
        double r95706 = r95698 - r95705;
        double r95707 = j;
        double r95708 = r95700 * r95694;
        double r95709 = r95702 * r95691;
        double r95710 = r95708 - r95709;
        double r95711 = r95707 * r95710;
        double r95712 = r95706 + r95711;
        return r95712;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r95713 = j;
        double r95714 = -1.4482254703626619e+43;
        bool r95715 = r95713 <= r95714;
        double r95716 = x;
        double r95717 = y;
        double r95718 = z;
        double r95719 = r95717 * r95718;
        double r95720 = t;
        double r95721 = a;
        double r95722 = r95720 * r95721;
        double r95723 = r95719 - r95722;
        double r95724 = r95716 * r95723;
        double r95725 = b;
        double r95726 = 0.0;
        double r95727 = r95725 * r95726;
        double r95728 = r95724 - r95727;
        double r95729 = c;
        double r95730 = r95729 * r95720;
        double r95731 = i;
        double r95732 = r95731 * r95717;
        double r95733 = r95730 - r95732;
        double r95734 = r95713 * r95733;
        double r95735 = r95728 + r95734;
        double r95736 = 8.678610978591722e+61;
        bool r95737 = r95713 <= r95736;
        double r95738 = r95729 * r95718;
        double r95739 = r95731 * r95721;
        double r95740 = r95738 - r95739;
        double r95741 = r95725 * r95740;
        double r95742 = r95724 - r95741;
        double r95743 = r95713 * r95729;
        double r95744 = r95720 * r95743;
        double r95745 = -1.0;
        double r95746 = r95717 * r95713;
        double r95747 = r95731 * r95746;
        double r95748 = r95745 * r95747;
        double r95749 = r95744 + r95748;
        double r95750 = r95742 + r95749;
        double r95751 = sqrt(r95713);
        double r95752 = r95751 * r95733;
        double r95753 = r95751 * r95752;
        double r95754 = r95742 + r95753;
        double r95755 = r95737 ? r95750 : r95754;
        double r95756 = r95715 ? r95735 : r95755;
        return r95756;
}

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.4482254703626619e+43

    1. Initial program 7.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. Taylor expanded around 0 16.9

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

    if -1.4482254703626619e+43 < j < 8.678610978591722e+61

    1. Initial program 14.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-cbrt14.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*14.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. Using strategy rm
    6. Applied sub-neg14.9

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

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\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)}\]
    8. Applied distribute-lft-in14.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 \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)}\]
    9. Simplified12.8

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\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)\]
    10. Simplified12.8

      \[\leadsto \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) + \color{blue}{\left(-j\right) \cdot \left(i \cdot y\right)}\right)\]
    11. Taylor expanded around inf 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) + \left(t \cdot \left(j \cdot c\right) + \color{blue}{-1 \cdot \left(i \cdot \left(y \cdot j\right)\right)}\right)\]

    if 8.678610978591722e+61 < j

    1. Initial program 6.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-sqrt6.7

      \[\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{j} \cdot \sqrt{j}\right)} \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Applied associate-*l*6.7

      \[\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}{\sqrt{j} \cdot \left(\sqrt{j} \cdot \left(c \cdot t - i \cdot y\right)\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification10.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;j \le -14482254703626618601594894635614964694380000:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot 0\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{elif}\;j \le 8.67861097859172234291931281209881540203 \cdot 10^{61}:\\ \;\;\;\;\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) + -1 \cdot \left(i \cdot \left(y \cdot j\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt{j} \cdot \left(\sqrt{j} \cdot \left(c \cdot t - i \cdot y\right)\right)\\ \end{array}\]

Reproduce

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