Average Error: 12.5 → 12.5
Time: 9.3s
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 -4.01645147109428022 \cdot 10^{-173} \lor \neg \left(x \le 1.58691066146071069 \cdot 10^{-234}\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) + \left(-j\right) \cdot \left(i \cdot y\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(0 - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\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 -4.01645147109428022 \cdot 10^{-173} \lor \neg \left(x \le 1.58691066146071069 \cdot 10^{-234}\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) + \left(-j\right) \cdot \left(i \cdot y\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(0 - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r122684 = x;
        double r122685 = y;
        double r122686 = z;
        double r122687 = r122685 * r122686;
        double r122688 = t;
        double r122689 = a;
        double r122690 = r122688 * r122689;
        double r122691 = r122687 - r122690;
        double r122692 = r122684 * r122691;
        double r122693 = b;
        double r122694 = c;
        double r122695 = r122694 * r122686;
        double r122696 = i;
        double r122697 = r122696 * r122689;
        double r122698 = r122695 - r122697;
        double r122699 = r122693 * r122698;
        double r122700 = r122692 - r122699;
        double r122701 = j;
        double r122702 = r122694 * r122688;
        double r122703 = r122696 * r122685;
        double r122704 = r122702 - r122703;
        double r122705 = r122701 * r122704;
        double r122706 = r122700 + r122705;
        return r122706;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r122707 = x;
        double r122708 = -4.01645147109428e-173;
        bool r122709 = r122707 <= r122708;
        double r122710 = 1.5869106614607107e-234;
        bool r122711 = r122707 <= r122710;
        double r122712 = !r122711;
        bool r122713 = r122709 || r122712;
        double r122714 = y;
        double r122715 = z;
        double r122716 = r122714 * r122715;
        double r122717 = t;
        double r122718 = a;
        double r122719 = r122717 * r122718;
        double r122720 = r122716 - r122719;
        double r122721 = r122707 * r122720;
        double r122722 = b;
        double r122723 = c;
        double r122724 = r122723 * r122715;
        double r122725 = i;
        double r122726 = r122725 * r122718;
        double r122727 = r122724 - r122726;
        double r122728 = r122722 * r122727;
        double r122729 = r122721 - r122728;
        double r122730 = j;
        double r122731 = r122730 * r122723;
        double r122732 = r122717 * r122731;
        double r122733 = -r122730;
        double r122734 = r122725 * r122714;
        double r122735 = r122733 * r122734;
        double r122736 = r122732 + r122735;
        double r122737 = r122729 + r122736;
        double r122738 = 0.0;
        double r122739 = r122738 - r122728;
        double r122740 = r122723 * r122717;
        double r122741 = r122740 - r122734;
        double r122742 = r122730 * r122741;
        double r122743 = r122739 + r122742;
        double r122744 = r122713 ? r122737 : r122743;
        return r122744;
}

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 2 regimes
  2. if x < -4.01645147109428e-173 or 1.5869106614607107e-234 < x

    1. Initial program 11.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-cbrt11.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*11.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. Using strategy rm
    6. Applied sub-neg11.3

      \[\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-in11.3

      \[\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-in11.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 \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. Simplified11.4

      \[\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. Simplified11.3

      \[\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)\]

    if -4.01645147109428e-173 < x < 1.5869106614607107e-234

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.01645147109428022 \cdot 10^{-173} \lor \neg \left(x \le 1.58691066146071069 \cdot 10^{-234}\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) + \left(-j\right) \cdot \left(i \cdot y\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(0 - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \end{array}\]

Reproduce

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