\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}\;y1 \le -1.548485686741319 \cdot 10^{+45}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right) + \left(\left(\left(y4 \cdot b - y5 \cdot i\right) \cdot \left(j \cdot t - y \cdot k\right) + \left(\left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(i \cdot \left(y1 \cdot \left(k \cdot z - j \cdot x\right)\right) + \left(-b\right) \cdot \left(\left(k \cdot z\right) \cdot y0\right)\right)\right) + \left(x \cdot y2 - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y3 \cdot y\right)\right)\\
\mathbf{elif}\;y1 \le -1.3816378971692277 \cdot 10^{-265}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right) + \left(\left(\left(\left(\left(\left(t \cdot \left(i \cdot c - a \cdot b\right)\right) \cdot z - \left(\left(i \cdot y\right) \cdot x\right) \cdot c\right) - \left(b \cdot y0 - y1 \cdot i\right) \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(x \cdot y2 - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right) + \left(y4 \cdot b - y5 \cdot i\right) \cdot \left(j \cdot t - y \cdot k\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y3 \cdot y\right)\right)\\
\mathbf{elif}\;y1 \le 6.220304299082778 \cdot 10^{-135}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot y2 - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right) + \left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right)\right) + \left(y4 \cdot b - y5 \cdot i\right) \cdot \left(j \cdot t - y \cdot k\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y3 \cdot y\right)\right) + \left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right)\\
\mathbf{elif}\;y1 \le 9.08570576395989 \cdot 10^{-77}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right) + \left(\left(\left(\left(\left(y5 \cdot i - y4 \cdot b\right) \cdot y\right) \cdot k - \left(i \cdot t\right) \cdot \left(y5 \cdot j\right)\right) + \left(\sqrt[3]{c \cdot y0 - y1 \cdot a} \cdot \left(\left(\sqrt[3]{c \cdot y0 - y1 \cdot a} \cdot \sqrt[3]{c \cdot y0 - y1 \cdot a}\right) \cdot \left(x \cdot y2 - y3 \cdot z\right)\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(b \cdot y0 - y1 \cdot i\right) \cdot \left(j \cdot x - k \cdot z\right)\right)\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y3 \cdot y\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right) + \left(\left(\left(\left(\left(\left(\sqrt[3]{a \cdot b - i \cdot c} \cdot \sqrt[3]{a \cdot b - i \cdot c}\right) \cdot \left(x \cdot y - t \cdot z\right)\right) \cdot \sqrt[3]{a \cdot b - i \cdot c} - \left(b \cdot y0 - y1 \cdot i\right) \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(x \cdot y2 - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right) + \left(y4 \cdot b - y5 \cdot i\right) \cdot \left(j \cdot t - y \cdot k\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y3 \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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r25413482 = x;
double r25413483 = y;
double r25413484 = r25413482 * r25413483;
double r25413485 = z;
double r25413486 = t;
double r25413487 = r25413485 * r25413486;
double r25413488 = r25413484 - r25413487;
double r25413489 = a;
double r25413490 = b;
double r25413491 = r25413489 * r25413490;
double r25413492 = c;
double r25413493 = i;
double r25413494 = r25413492 * r25413493;
double r25413495 = r25413491 - r25413494;
double r25413496 = r25413488 * r25413495;
double r25413497 = j;
double r25413498 = r25413482 * r25413497;
double r25413499 = k;
double r25413500 = r25413485 * r25413499;
double r25413501 = r25413498 - r25413500;
double r25413502 = y0;
double r25413503 = r25413502 * r25413490;
double r25413504 = y1;
double r25413505 = r25413504 * r25413493;
double r25413506 = r25413503 - r25413505;
double r25413507 = r25413501 * r25413506;
double r25413508 = r25413496 - r25413507;
double r25413509 = y2;
double r25413510 = r25413482 * r25413509;
double r25413511 = y3;
double r25413512 = r25413485 * r25413511;
double r25413513 = r25413510 - r25413512;
double r25413514 = r25413502 * r25413492;
double r25413515 = r25413504 * r25413489;
double r25413516 = r25413514 - r25413515;
double r25413517 = r25413513 * r25413516;
double r25413518 = r25413508 + r25413517;
double r25413519 = r25413486 * r25413497;
double r25413520 = r25413483 * r25413499;
double r25413521 = r25413519 - r25413520;
double r25413522 = y4;
double r25413523 = r25413522 * r25413490;
double r25413524 = y5;
double r25413525 = r25413524 * r25413493;
double r25413526 = r25413523 - r25413525;
double r25413527 = r25413521 * r25413526;
double r25413528 = r25413518 + r25413527;
double r25413529 = r25413486 * r25413509;
double r25413530 = r25413483 * r25413511;
double r25413531 = r25413529 - r25413530;
double r25413532 = r25413522 * r25413492;
double r25413533 = r25413524 * r25413489;
double r25413534 = r25413532 - r25413533;
double r25413535 = r25413531 * r25413534;
double r25413536 = r25413528 - r25413535;
double r25413537 = r25413499 * r25413509;
double r25413538 = r25413497 * r25413511;
double r25413539 = r25413537 - r25413538;
double r25413540 = r25413522 * r25413504;
double r25413541 = r25413524 * r25413502;
double r25413542 = r25413540 - r25413541;
double r25413543 = r25413539 * r25413542;
double r25413544 = r25413536 + r25413543;
return r25413544;
}
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 r25413545 = y1;
double r25413546 = -1.548485686741319e+45;
bool r25413547 = r25413545 <= r25413546;
double r25413548 = y2;
double r25413549 = k;
double r25413550 = r25413548 * r25413549;
double r25413551 = j;
double r25413552 = y3;
double r25413553 = r25413551 * r25413552;
double r25413554 = r25413550 - r25413553;
double r25413555 = y4;
double r25413556 = r25413545 * r25413555;
double r25413557 = y5;
double r25413558 = y0;
double r25413559 = r25413557 * r25413558;
double r25413560 = r25413556 - r25413559;
double r25413561 = r25413554 * r25413560;
double r25413562 = b;
double r25413563 = r25413555 * r25413562;
double r25413564 = i;
double r25413565 = r25413557 * r25413564;
double r25413566 = r25413563 - r25413565;
double r25413567 = t;
double r25413568 = r25413551 * r25413567;
double r25413569 = y;
double r25413570 = r25413569 * r25413549;
double r25413571 = r25413568 - r25413570;
double r25413572 = r25413566 * r25413571;
double r25413573 = x;
double r25413574 = r25413573 * r25413569;
double r25413575 = z;
double r25413576 = r25413567 * r25413575;
double r25413577 = r25413574 - r25413576;
double r25413578 = a;
double r25413579 = r25413578 * r25413562;
double r25413580 = c;
double r25413581 = r25413564 * r25413580;
double r25413582 = r25413579 - r25413581;
double r25413583 = r25413577 * r25413582;
double r25413584 = r25413549 * r25413575;
double r25413585 = r25413551 * r25413573;
double r25413586 = r25413584 - r25413585;
double r25413587 = r25413545 * r25413586;
double r25413588 = r25413564 * r25413587;
double r25413589 = -r25413562;
double r25413590 = r25413584 * r25413558;
double r25413591 = r25413589 * r25413590;
double r25413592 = r25413588 + r25413591;
double r25413593 = r25413583 - r25413592;
double r25413594 = r25413573 * r25413548;
double r25413595 = r25413552 * r25413575;
double r25413596 = r25413594 - r25413595;
double r25413597 = r25413580 * r25413558;
double r25413598 = r25413545 * r25413578;
double r25413599 = r25413597 - r25413598;
double r25413600 = r25413596 * r25413599;
double r25413601 = r25413593 + r25413600;
double r25413602 = r25413572 + r25413601;
double r25413603 = r25413580 * r25413555;
double r25413604 = r25413557 * r25413578;
double r25413605 = r25413603 - r25413604;
double r25413606 = r25413567 * r25413548;
double r25413607 = r25413552 * r25413569;
double r25413608 = r25413606 - r25413607;
double r25413609 = r25413605 * r25413608;
double r25413610 = r25413602 - r25413609;
double r25413611 = r25413561 + r25413610;
double r25413612 = -1.3816378971692277e-265;
bool r25413613 = r25413545 <= r25413612;
double r25413614 = r25413581 - r25413579;
double r25413615 = r25413567 * r25413614;
double r25413616 = r25413615 * r25413575;
double r25413617 = r25413564 * r25413569;
double r25413618 = r25413617 * r25413573;
double r25413619 = r25413618 * r25413580;
double r25413620 = r25413616 - r25413619;
double r25413621 = r25413562 * r25413558;
double r25413622 = r25413545 * r25413564;
double r25413623 = r25413621 - r25413622;
double r25413624 = r25413585 - r25413584;
double r25413625 = r25413623 * r25413624;
double r25413626 = r25413620 - r25413625;
double r25413627 = r25413626 + r25413600;
double r25413628 = r25413627 + r25413572;
double r25413629 = r25413628 - r25413609;
double r25413630 = r25413561 + r25413629;
double r25413631 = 6.220304299082778e-135;
bool r25413632 = r25413545 <= r25413631;
double r25413633 = r25413600 + r25413583;
double r25413634 = r25413633 + r25413572;
double r25413635 = r25413634 - r25413609;
double r25413636 = r25413635 + r25413561;
double r25413637 = 9.08570576395989e-77;
bool r25413638 = r25413545 <= r25413637;
double r25413639 = r25413565 - r25413563;
double r25413640 = r25413639 * r25413569;
double r25413641 = r25413640 * r25413549;
double r25413642 = r25413564 * r25413567;
double r25413643 = r25413557 * r25413551;
double r25413644 = r25413642 * r25413643;
double r25413645 = r25413641 - r25413644;
double r25413646 = cbrt(r25413599);
double r25413647 = r25413646 * r25413646;
double r25413648 = r25413647 * r25413596;
double r25413649 = r25413646 * r25413648;
double r25413650 = r25413583 - r25413625;
double r25413651 = r25413649 + r25413650;
double r25413652 = r25413645 + r25413651;
double r25413653 = r25413652 - r25413609;
double r25413654 = r25413561 + r25413653;
double r25413655 = cbrt(r25413582);
double r25413656 = r25413655 * r25413655;
double r25413657 = r25413656 * r25413577;
double r25413658 = r25413657 * r25413655;
double r25413659 = r25413658 - r25413625;
double r25413660 = r25413659 + r25413600;
double r25413661 = r25413660 + r25413572;
double r25413662 = r25413661 - r25413609;
double r25413663 = r25413561 + r25413662;
double r25413664 = r25413638 ? r25413654 : r25413663;
double r25413665 = r25413632 ? r25413636 : r25413664;
double r25413666 = r25413613 ? r25413630 : r25413665;
double r25413667 = r25413547 ? r25413611 : r25413666;
return r25413667;
}



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 y1 < -1.548485686741319e+45Initial program 27.5
Taylor expanded around -inf 33.8
Simplified28.6
if -1.548485686741319e+45 < y1 < -1.3816378971692277e-265Initial program 25.3
Taylor expanded around inf 27.1
Simplified28.6
if -1.3816378971692277e-265 < y1 < 6.220304299082778e-135Initial program 24.6
Taylor expanded around 0 28.2
if 6.220304299082778e-135 < y1 < 9.08570576395989e-77Initial program 23.9
rmApplied add-cube-cbrt24.0
Applied associate-*r*24.0
Taylor expanded around inf 27.0
Simplified27.3
if 9.08570576395989e-77 < y1 Initial program 26.4
rmApplied add-cube-cbrt26.5
Applied associate-*r*26.5
Final simplification27.9
herbie shell --seed 2019107
(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)))))