\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}\;c \le -1.386988531147401 \cdot 10^{+40}:\\
\;\;\;\;\left(\left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(\left(y5 \cdot a\right) \cdot \left(-\left(t \cdot y2 - y \cdot y3\right)\right) + c \cdot \left(\left(t \cdot y2 - y \cdot y3\right) \cdot y4\right)\right)\right) + \left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;c \le -4.248650875771688 \cdot 10^{-109}:\\
\;\;\;\;\left(\left(\left(j \cdot t - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right) + \left(\left(\left(\left(\left(c \cdot z\right) \cdot i\right) \cdot t - \left(\left(t \cdot \left(b \cdot z\right)\right) \cdot a + \left(\left(y \cdot c\right) \cdot x\right) \cdot i\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right) + \left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\right)\right) + \left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;c \le 5.2635563519569783 \cdot 10^{-157}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(\left(\left(y \cdot y5\right) \cdot y3\right) \cdot a - \left(y3 \cdot \left(y4 \cdot \left(y \cdot c\right)\right) + a \cdot \left(\left(y5 \cdot t\right) \cdot y2\right)\right)\right)\right)\\
\mathbf{elif}\;c \le 1.1733127872410647 \cdot 10^{+52}:\\
\;\;\;\;\left(\left(\left(j \cdot t - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right) + \left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(\left(\left(y1 \cdot k\right) \cdot z\right) \cdot i - \left(\left(\left(y1 \cdot x\right) \cdot j\right) \cdot i + \left(z \cdot \left(b \cdot y0\right)\right) \cdot k\right)\right)\right)\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\right)\right) + \left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(\left(y5 \cdot a\right) \cdot \left(-\left(t \cdot y2 - y \cdot y3\right)\right) + c \cdot \left(\left(t \cdot y2 - y \cdot y3\right) \cdot y4\right)\right)\right) + \left(y2 \cdot k - 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 r4015547 = x;
double r4015548 = y;
double r4015549 = r4015547 * r4015548;
double r4015550 = z;
double r4015551 = t;
double r4015552 = r4015550 * r4015551;
double r4015553 = r4015549 - r4015552;
double r4015554 = a;
double r4015555 = b;
double r4015556 = r4015554 * r4015555;
double r4015557 = c;
double r4015558 = i;
double r4015559 = r4015557 * r4015558;
double r4015560 = r4015556 - r4015559;
double r4015561 = r4015553 * r4015560;
double r4015562 = j;
double r4015563 = r4015547 * r4015562;
double r4015564 = k;
double r4015565 = r4015550 * r4015564;
double r4015566 = r4015563 - r4015565;
double r4015567 = y0;
double r4015568 = r4015567 * r4015555;
double r4015569 = y1;
double r4015570 = r4015569 * r4015558;
double r4015571 = r4015568 - r4015570;
double r4015572 = r4015566 * r4015571;
double r4015573 = r4015561 - r4015572;
double r4015574 = y2;
double r4015575 = r4015547 * r4015574;
double r4015576 = y3;
double r4015577 = r4015550 * r4015576;
double r4015578 = r4015575 - r4015577;
double r4015579 = r4015567 * r4015557;
double r4015580 = r4015569 * r4015554;
double r4015581 = r4015579 - r4015580;
double r4015582 = r4015578 * r4015581;
double r4015583 = r4015573 + r4015582;
double r4015584 = r4015551 * r4015562;
double r4015585 = r4015548 * r4015564;
double r4015586 = r4015584 - r4015585;
double r4015587 = y4;
double r4015588 = r4015587 * r4015555;
double r4015589 = y5;
double r4015590 = r4015589 * r4015558;
double r4015591 = r4015588 - r4015590;
double r4015592 = r4015586 * r4015591;
double r4015593 = r4015583 + r4015592;
double r4015594 = r4015551 * r4015574;
double r4015595 = r4015548 * r4015576;
double r4015596 = r4015594 - r4015595;
double r4015597 = r4015587 * r4015557;
double r4015598 = r4015589 * r4015554;
double r4015599 = r4015597 - r4015598;
double r4015600 = r4015596 * r4015599;
double r4015601 = r4015593 - r4015600;
double r4015602 = r4015564 * r4015574;
double r4015603 = r4015562 * r4015576;
double r4015604 = r4015602 - r4015603;
double r4015605 = r4015587 * r4015569;
double r4015606 = r4015589 * r4015567;
double r4015607 = r4015605 - r4015606;
double r4015608 = r4015604 * r4015607;
double r4015609 = r4015601 + r4015608;
return r4015609;
}
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 r4015610 = c;
double r4015611 = -1.386988531147401e+40;
bool r4015612 = r4015610 <= r4015611;
double r4015613 = y0;
double r4015614 = r4015610 * r4015613;
double r4015615 = y1;
double r4015616 = a;
double r4015617 = r4015615 * r4015616;
double r4015618 = r4015614 - r4015617;
double r4015619 = x;
double r4015620 = y2;
double r4015621 = r4015619 * r4015620;
double r4015622 = z;
double r4015623 = y3;
double r4015624 = r4015622 * r4015623;
double r4015625 = r4015621 - r4015624;
double r4015626 = r4015618 * r4015625;
double r4015627 = y;
double r4015628 = r4015619 * r4015627;
double r4015629 = t;
double r4015630 = r4015629 * r4015622;
double r4015631 = r4015628 - r4015630;
double r4015632 = b;
double r4015633 = r4015616 * r4015632;
double r4015634 = i;
double r4015635 = r4015634 * r4015610;
double r4015636 = r4015633 - r4015635;
double r4015637 = r4015631 * r4015636;
double r4015638 = j;
double r4015639 = r4015619 * r4015638;
double r4015640 = k;
double r4015641 = r4015622 * r4015640;
double r4015642 = r4015639 - r4015641;
double r4015643 = r4015632 * r4015613;
double r4015644 = r4015634 * r4015615;
double r4015645 = r4015643 - r4015644;
double r4015646 = r4015642 * r4015645;
double r4015647 = r4015637 - r4015646;
double r4015648 = r4015626 + r4015647;
double r4015649 = r4015638 * r4015629;
double r4015650 = r4015627 * r4015640;
double r4015651 = r4015649 - r4015650;
double r4015652 = y4;
double r4015653 = r4015652 * r4015632;
double r4015654 = y5;
double r4015655 = r4015634 * r4015654;
double r4015656 = r4015653 - r4015655;
double r4015657 = r4015651 * r4015656;
double r4015658 = r4015648 + r4015657;
double r4015659 = r4015654 * r4015616;
double r4015660 = r4015629 * r4015620;
double r4015661 = r4015627 * r4015623;
double r4015662 = r4015660 - r4015661;
double r4015663 = -r4015662;
double r4015664 = r4015659 * r4015663;
double r4015665 = r4015662 * r4015652;
double r4015666 = r4015610 * r4015665;
double r4015667 = r4015664 + r4015666;
double r4015668 = r4015658 - r4015667;
double r4015669 = r4015620 * r4015640;
double r4015670 = r4015638 * r4015623;
double r4015671 = r4015669 - r4015670;
double r4015672 = r4015652 * r4015615;
double r4015673 = r4015654 * r4015613;
double r4015674 = r4015672 - r4015673;
double r4015675 = r4015671 * r4015674;
double r4015676 = r4015668 + r4015675;
double r4015677 = -4.248650875771688e-109;
bool r4015678 = r4015610 <= r4015677;
double r4015679 = r4015610 * r4015622;
double r4015680 = r4015679 * r4015634;
double r4015681 = r4015680 * r4015629;
double r4015682 = r4015632 * r4015622;
double r4015683 = r4015629 * r4015682;
double r4015684 = r4015683 * r4015616;
double r4015685 = r4015627 * r4015610;
double r4015686 = r4015685 * r4015619;
double r4015687 = r4015686 * r4015634;
double r4015688 = r4015684 + r4015687;
double r4015689 = r4015681 - r4015688;
double r4015690 = r4015689 - r4015646;
double r4015691 = r4015690 + r4015626;
double r4015692 = r4015657 + r4015691;
double r4015693 = r4015610 * r4015652;
double r4015694 = r4015693 - r4015659;
double r4015695 = r4015694 * r4015662;
double r4015696 = r4015692 - r4015695;
double r4015697 = r4015696 + r4015675;
double r4015698 = 5.2635563519569783e-157;
bool r4015699 = r4015610 <= r4015698;
double r4015700 = r4015627 * r4015654;
double r4015701 = r4015700 * r4015623;
double r4015702 = r4015701 * r4015616;
double r4015703 = r4015652 * r4015685;
double r4015704 = r4015623 * r4015703;
double r4015705 = r4015654 * r4015629;
double r4015706 = r4015705 * r4015620;
double r4015707 = r4015616 * r4015706;
double r4015708 = r4015704 + r4015707;
double r4015709 = r4015702 - r4015708;
double r4015710 = r4015658 - r4015709;
double r4015711 = r4015675 + r4015710;
double r4015712 = 1.1733127872410647e+52;
bool r4015713 = r4015610 <= r4015712;
double r4015714 = r4015615 * r4015640;
double r4015715 = r4015714 * r4015622;
double r4015716 = r4015715 * r4015634;
double r4015717 = r4015615 * r4015619;
double r4015718 = r4015717 * r4015638;
double r4015719 = r4015718 * r4015634;
double r4015720 = r4015622 * r4015643;
double r4015721 = r4015720 * r4015640;
double r4015722 = r4015719 + r4015721;
double r4015723 = r4015716 - r4015722;
double r4015724 = r4015637 - r4015723;
double r4015725 = r4015626 + r4015724;
double r4015726 = r4015657 + r4015725;
double r4015727 = r4015726 - r4015695;
double r4015728 = r4015727 + r4015675;
double r4015729 = r4015713 ? r4015728 : r4015676;
double r4015730 = r4015699 ? r4015711 : r4015729;
double r4015731 = r4015678 ? r4015697 : r4015730;
double r4015732 = r4015612 ? r4015676 : r4015731;
return r4015732;
}



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
Results
if c < -1.386988531147401e+40 or 1.1733127872410647e+52 < c Initial program 28.4
rmApplied sub-neg28.4
Applied distribute-rgt-in28.4
Taylor expanded around -inf 30.6
Simplified25.9
if -1.386988531147401e+40 < c < -4.248650875771688e-109Initial program 21.0
Taylor expanded around inf 24.0
if -4.248650875771688e-109 < c < 5.2635563519569783e-157Initial program 25.8
Taylor expanded around -inf 25.8
if 5.2635563519569783e-157 < c < 1.1733127872410647e+52Initial program 24.2
Taylor expanded around inf 26.6
Final simplification25.8
herbie shell --seed 2019133
(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"
(+ (- (+ (+ (- (* (- (* 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)))))