Average Error: 26.6 → 27.7
Time: 1.5m
Precision: 64
\[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
\[\begin{array}{l} \mathbf{if}\;y \le -3.068136913593689871171353580308452333931 \cdot 10^{57}:\\ \;\;\;\;\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \mathbf{elif}\;y \le 7.665419953743729151544965939512326853023 \cdot 10^{-168}:\\ \;\;\;\;\left(\left(\left(\left(\left(t \cdot \left(i \cdot \left(z \cdot c\right)\right) - \left(i \cdot \left(c \cdot \left(y \cdot x\right)\right) + a \cdot \left(t \cdot \left(z \cdot b\right)\right)\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(\sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\right) \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\\ \end{array}\]
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\begin{array}{l}
\mathbf{if}\;y \le -3.068136913593689871171353580308452333931 \cdot 10^{57}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\

\mathbf{elif}\;y \le 7.665419953743729151544965939512326853023 \cdot 10^{-168}:\\
\;\;\;\;\left(\left(\left(\left(\left(t \cdot \left(i \cdot \left(z \cdot c\right)\right) - \left(i \cdot \left(c \cdot \left(y \cdot x\right)\right) + a \cdot \left(t \cdot \left(z \cdot b\right)\right)\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(\sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\right) \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
        double r151593 = x;
        double r151594 = y;
        double r151595 = r151593 * r151594;
        double r151596 = z;
        double r151597 = t;
        double r151598 = r151596 * r151597;
        double r151599 = r151595 - r151598;
        double r151600 = a;
        double r151601 = b;
        double r151602 = r151600 * r151601;
        double r151603 = c;
        double r151604 = i;
        double r151605 = r151603 * r151604;
        double r151606 = r151602 - r151605;
        double r151607 = r151599 * r151606;
        double r151608 = j;
        double r151609 = r151593 * r151608;
        double r151610 = k;
        double r151611 = r151596 * r151610;
        double r151612 = r151609 - r151611;
        double r151613 = y0;
        double r151614 = r151613 * r151601;
        double r151615 = y1;
        double r151616 = r151615 * r151604;
        double r151617 = r151614 - r151616;
        double r151618 = r151612 * r151617;
        double r151619 = r151607 - r151618;
        double r151620 = y2;
        double r151621 = r151593 * r151620;
        double r151622 = y3;
        double r151623 = r151596 * r151622;
        double r151624 = r151621 - r151623;
        double r151625 = r151613 * r151603;
        double r151626 = r151615 * r151600;
        double r151627 = r151625 - r151626;
        double r151628 = r151624 * r151627;
        double r151629 = r151619 + r151628;
        double r151630 = r151597 * r151608;
        double r151631 = r151594 * r151610;
        double r151632 = r151630 - r151631;
        double r151633 = y4;
        double r151634 = r151633 * r151601;
        double r151635 = y5;
        double r151636 = r151635 * r151604;
        double r151637 = r151634 - r151636;
        double r151638 = r151632 * r151637;
        double r151639 = r151629 + r151638;
        double r151640 = r151597 * r151620;
        double r151641 = r151594 * r151622;
        double r151642 = r151640 - r151641;
        double r151643 = r151633 * r151603;
        double r151644 = r151635 * r151600;
        double r151645 = r151643 - r151644;
        double r151646 = r151642 * r151645;
        double r151647 = r151639 - r151646;
        double r151648 = r151610 * r151620;
        double r151649 = r151608 * r151622;
        double r151650 = r151648 - r151649;
        double r151651 = r151633 * r151615;
        double r151652 = r151635 * r151613;
        double r151653 = r151651 - r151652;
        double r151654 = r151650 * r151653;
        double r151655 = r151647 + r151654;
        return r151655;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
        double r151656 = y;
        double r151657 = -3.06813691359369e+57;
        bool r151658 = r151656 <= r151657;
        double r151659 = x;
        double r151660 = r151659 * r151656;
        double r151661 = z;
        double r151662 = t;
        double r151663 = r151661 * r151662;
        double r151664 = r151660 - r151663;
        double r151665 = a;
        double r151666 = b;
        double r151667 = r151665 * r151666;
        double r151668 = c;
        double r151669 = i;
        double r151670 = r151668 * r151669;
        double r151671 = r151667 - r151670;
        double r151672 = r151664 * r151671;
        double r151673 = j;
        double r151674 = r151659 * r151673;
        double r151675 = k;
        double r151676 = r151661 * r151675;
        double r151677 = r151674 - r151676;
        double r151678 = y0;
        double r151679 = r151678 * r151666;
        double r151680 = y1;
        double r151681 = r151680 * r151669;
        double r151682 = r151679 - r151681;
        double r151683 = r151677 * r151682;
        double r151684 = r151672 - r151683;
        double r151685 = r151662 * r151673;
        double r151686 = r151656 * r151675;
        double r151687 = r151685 - r151686;
        double r151688 = y4;
        double r151689 = r151688 * r151666;
        double r151690 = y5;
        double r151691 = r151690 * r151669;
        double r151692 = r151689 - r151691;
        double r151693 = r151687 * r151692;
        double r151694 = r151684 + r151693;
        double r151695 = y2;
        double r151696 = r151662 * r151695;
        double r151697 = y3;
        double r151698 = r151656 * r151697;
        double r151699 = r151696 - r151698;
        double r151700 = r151688 * r151668;
        double r151701 = r151690 * r151665;
        double r151702 = r151700 - r151701;
        double r151703 = r151699 * r151702;
        double r151704 = r151694 - r151703;
        double r151705 = r151675 * r151695;
        double r151706 = r151673 * r151697;
        double r151707 = r151705 - r151706;
        double r151708 = r151688 * r151680;
        double r151709 = r151690 * r151678;
        double r151710 = r151708 - r151709;
        double r151711 = r151707 * r151710;
        double r151712 = r151704 + r151711;
        double r151713 = 7.665419953743729e-168;
        bool r151714 = r151656 <= r151713;
        double r151715 = r151661 * r151668;
        double r151716 = r151669 * r151715;
        double r151717 = r151662 * r151716;
        double r151718 = r151656 * r151659;
        double r151719 = r151668 * r151718;
        double r151720 = r151669 * r151719;
        double r151721 = r151661 * r151666;
        double r151722 = r151662 * r151721;
        double r151723 = r151665 * r151722;
        double r151724 = r151720 + r151723;
        double r151725 = r151717 - r151724;
        double r151726 = r151725 - r151683;
        double r151727 = r151659 * r151695;
        double r151728 = r151661 * r151697;
        double r151729 = r151727 - r151728;
        double r151730 = r151678 * r151668;
        double r151731 = r151680 * r151665;
        double r151732 = r151730 - r151731;
        double r151733 = r151729 * r151732;
        double r151734 = r151726 + r151733;
        double r151735 = r151734 + r151693;
        double r151736 = r151735 - r151703;
        double r151737 = r151736 + r151711;
        double r151738 = r151684 + r151733;
        double r151739 = r151738 + r151693;
        double r151740 = r151739 - r151703;
        double r151741 = cbrt(r151711);
        double r151742 = r151741 * r151741;
        double r151743 = r151742 * r151741;
        double r151744 = r151740 + r151743;
        double r151745 = r151714 ? r151737 : r151744;
        double r151746 = r151658 ? r151712 : r151745;
        return r151746;
}

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

Bits error versus k

Bits error versus y0

Bits error versus y1

Bits error versus y2

Bits error versus y3

Bits error versus y4

Bits error versus y5

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if y < -3.06813691359369e+57

    1. Initial program 29.7

      \[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    2. Taylor expanded around 0 32.3

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \color{blue}{0}\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]

    if -3.06813691359369e+57 < y < 7.665419953743729e-168

    1. Initial program 26.2

      \[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    2. Taylor expanded around inf 27.6

      \[\leadsto \left(\left(\left(\left(\color{blue}{\left(t \cdot \left(i \cdot \left(z \cdot c\right)\right) - \left(i \cdot \left(c \cdot \left(y \cdot x\right)\right) + a \cdot \left(t \cdot \left(z \cdot b\right)\right)\right)\right)} - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]

    if 7.665419953743729e-168 < y

    1. Initial program 26.1

      \[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt26.2

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \color{blue}{\left(\sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\right) \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification27.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \le -3.068136913593689871171353580308452333931 \cdot 10^{57}:\\ \;\;\;\;\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \mathbf{elif}\;y \le 7.665419953743729151544965939512326853023 \cdot 10^{-168}:\\ \;\;\;\;\left(\left(\left(\left(\left(t \cdot \left(i \cdot \left(z \cdot c\right)\right) - \left(i \cdot \left(c \cdot \left(y \cdot x\right)\right) + a \cdot \left(t \cdot \left(z \cdot b\right)\right)\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(\sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\right) \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019303 
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
  :name "Linear.Matrix:det44 from linear-1.19.1.3"
  :precision binary64
  (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))