Average Error: 12.0 → 12.2
Time: 29.7s
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 -1.036672842257737 \cdot 10^{-191}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right)\\ \mathbf{elif}\;b \le 6.88884700744427 \cdot 10^{-262}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(y \cdot z - t \cdot a\right) \cdot x\\ \mathbf{else}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - i \cdot a\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\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}\;b \le -1.036672842257737 \cdot 10^{-191}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - i \cdot a\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\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 r3270581 = x;
        double r3270582 = y;
        double r3270583 = z;
        double r3270584 = r3270582 * r3270583;
        double r3270585 = t;
        double r3270586 = a;
        double r3270587 = r3270585 * r3270586;
        double r3270588 = r3270584 - r3270587;
        double r3270589 = r3270581 * r3270588;
        double r3270590 = b;
        double r3270591 = c;
        double r3270592 = r3270591 * r3270583;
        double r3270593 = i;
        double r3270594 = r3270593 * r3270586;
        double r3270595 = r3270592 - r3270594;
        double r3270596 = r3270590 * r3270595;
        double r3270597 = r3270589 - r3270596;
        double r3270598 = j;
        double r3270599 = r3270591 * r3270585;
        double r3270600 = r3270593 * r3270582;
        double r3270601 = r3270599 - r3270600;
        double r3270602 = r3270598 * r3270601;
        double r3270603 = r3270597 + r3270602;
        return r3270603;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r3270604 = b;
        double r3270605 = -1.036672842257737e-191;
        bool r3270606 = r3270604 <= r3270605;
        double r3270607 = y;
        double r3270608 = z;
        double r3270609 = r3270607 * r3270608;
        double r3270610 = t;
        double r3270611 = a;
        double r3270612 = r3270610 * r3270611;
        double r3270613 = r3270609 - r3270612;
        double r3270614 = x;
        double r3270615 = r3270613 * r3270614;
        double r3270616 = c;
        double r3270617 = r3270616 * r3270608;
        double r3270618 = i;
        double r3270619 = r3270618 * r3270611;
        double r3270620 = r3270617 - r3270619;
        double r3270621 = r3270604 * r3270620;
        double r3270622 = r3270615 - r3270621;
        double r3270623 = j;
        double r3270624 = r3270616 * r3270610;
        double r3270625 = r3270618 * r3270607;
        double r3270626 = r3270624 - r3270625;
        double r3270627 = r3270623 * r3270626;
        double r3270628 = cbrt(r3270627);
        double r3270629 = r3270628 * r3270628;
        double r3270630 = r3270628 * r3270629;
        double r3270631 = r3270622 + r3270630;
        double r3270632 = 6.88884700744427e-262;
        bool r3270633 = r3270604 <= r3270632;
        double r3270634 = r3270627 + r3270615;
        double r3270635 = sqrt(r3270604);
        double r3270636 = r3270620 * r3270635;
        double r3270637 = r3270636 * r3270635;
        double r3270638 = r3270615 - r3270637;
        double r3270639 = r3270638 + r3270627;
        double r3270640 = r3270633 ? r3270634 : r3270639;
        double r3270641 = r3270606 ? r3270631 : r3270640;
        return r3270641;
}

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.036672842257737e-191

    1. Initial program 10.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. Using strategy rm
    3. Applied add-cube-cbrt11.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(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right) \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}}\]

    if -1.036672842257737e-191 < b < 6.88884700744427e-262

    1. Initial program 15.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. Using strategy rm
    3. Applied add-cube-cbrt15.9

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \color{blue}{\left(\left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Taylor expanded around 0 16.2

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

    if 6.88884700744427e-262 < b

    1. Initial program 11.5

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

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \color{blue}{\left(\left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt11.8

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

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

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

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

Reproduce

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