#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Linear.Matrix:det44 from linear-1.19.1.3";

double f_if(float x, float y, float z, float t, float a, float b, float c, float i, float j, float k, float y0, float y1, float y2, float y3, float y4, float y5) {
        float r16677 = x;
        float r16678 = y;
        float r16679 = r16677 * r16678;
        float r16680 = z;
        float r16681 = t;
        float r16682 = r16680 * r16681;
        float r16683 = r16679 - r16682;
        float r16684 = a;
        float r16685 = b;
        float r16686 = r16684 * r16685;
        float r16687 = c;
        float r16688 = i;
        float r16689 = r16687 * r16688;
        float r16690 = r16686 - r16689;
        float r16691 = r16683 * r16690;
        float r16692 = j;
        float r16693 = r16677 * r16692;
        float r16694 = k;
        float r16695 = r16680 * r16694;
        float r16696 = r16693 - r16695;
        float r16697 = y0;
        float r16698 = r16697 * r16685;
        float r16699 = y1;
        float r16700 = r16699 * r16688;
        float r16701 = r16698 - r16700;
        float r16702 = r16696 * r16701;
        float r16703 = r16691 - r16702;
        float r16704 = y2;
        float r16705 = r16677 * r16704;
        float r16706 = y3;
        float r16707 = r16680 * r16706;
        float r16708 = r16705 - r16707;
        float r16709 = r16697 * r16687;
        float r16710 = r16699 * r16684;
        float r16711 = r16709 - r16710;
        float r16712 = r16708 * r16711;
        float r16713 = r16703 + r16712;
        float r16714 = r16681 * r16692;
        float r16715 = r16678 * r16694;
        float r16716 = r16714 - r16715;
        float r16717 = y4;
        float r16718 = r16717 * r16685;
        float r16719 = y5;
        float r16720 = r16719 * r16688;
        float r16721 = r16718 - r16720;
        float r16722 = r16716 * r16721;
        float r16723 = r16713 + r16722;
        float r16724 = r16681 * r16704;
        float r16725 = r16678 * r16706;
        float r16726 = r16724 - r16725;
        float r16727 = r16717 * r16687;
        float r16728 = r16719 * r16684;
        float r16729 = r16727 - r16728;
        float r16730 = r16726 * r16729;
        float r16731 = r16723 - r16730;
        float r16732 = r16694 * r16704;
        float r16733 = r16692 * r16706;
        float r16734 = r16732 - r16733;
        float r16735 = r16717 * r16699;
        float r16736 = r16719 * r16697;
        float r16737 = r16735 - r16736;
        float r16738 = r16734 * r16737;
        float r16739 = r16731 + r16738;
        return r16739;
}

double f_id(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 r16740 = x;
        double r16741 = y;
        double r16742 = r16740 * r16741;
        double r16743 = z;
        double r16744 = t;
        double r16745 = r16743 * r16744;
        double r16746 = r16742 - r16745;
        double r16747 = a;
        double r16748 = b;
        double r16749 = r16747 * r16748;
        double r16750 = c;
        double r16751 = i;
        double r16752 = r16750 * r16751;
        double r16753 = r16749 - r16752;
        double r16754 = r16746 * r16753;
        double r16755 = j;
        double r16756 = r16740 * r16755;
        double r16757 = k;
        double r16758 = r16743 * r16757;
        double r16759 = r16756 - r16758;
        double r16760 = y0;
        double r16761 = r16760 * r16748;
        double r16762 = y1;
        double r16763 = r16762 * r16751;
        double r16764 = r16761 - r16763;
        double r16765 = r16759 * r16764;
        double r16766 = r16754 - r16765;
        double r16767 = y2;
        double r16768 = r16740 * r16767;
        double r16769 = y3;
        double r16770 = r16743 * r16769;
        double r16771 = r16768 - r16770;
        double r16772 = r16760 * r16750;
        double r16773 = r16762 * r16747;
        double r16774 = r16772 - r16773;
        double r16775 = r16771 * r16774;
        double r16776 = r16766 + r16775;
        double r16777 = r16744 * r16755;
        double r16778 = r16741 * r16757;
        double r16779 = r16777 - r16778;
        double r16780 = y4;
        double r16781 = r16780 * r16748;
        double r16782 = y5;
        double r16783 = r16782 * r16751;
        double r16784 = r16781 - r16783;
        double r16785 = r16779 * r16784;
        double r16786 = r16776 + r16785;
        double r16787 = r16744 * r16767;
        double r16788 = r16741 * r16769;
        double r16789 = r16787 - r16788;
        double r16790 = r16780 * r16750;
        double r16791 = r16782 * r16747;
        double r16792 = r16790 - r16791;
        double r16793 = r16789 * r16792;
        double r16794 = r16786 - r16793;
        double r16795 = r16757 * r16767;
        double r16796 = r16755 * r16769;
        double r16797 = r16795 - r16796;
        double r16798 = r16780 * r16762;
        double r16799 = r16782 * r16760;
        double r16800 = r16798 - r16799;
        double r16801 = r16797 * r16800;
        double r16802 = r16794 + r16801;
        return r16802;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i, float j, float k, float y0, float y1, float y2, float y3, float y4, float y5) {
        float r16803 = x;
        float r16804 = y;
        float r16805 = r16803 * r16804;
        float r16806 = z;
        float r16807 = t;
        float r16808 = r16806 * r16807;
        float r16809 = r16805 - r16808;
        float r16810 = cbrt(r16809);
        float r16811 = a;
        float r16812 = b;
        float r16813 = r16811 * r16812;
        float r16814 = c;
        float r16815 = i;
        float r16816 = r16814 * r16815;
        float r16817 = r16813 - r16816;
        float r16818 = cbrt(r16817);
        float r16819 = r16810 * r16818;
        float r16820 = r16819 * (r16819 * r16819);
        float r16821 = j;
        float r16822 = r16803 * r16821;
        float r16823 = k;
        float r16824 = r16806 * r16823;
        float r16825 = r16822 - r16824;
        float r16826 = y0;
        float r16827 = r16826 * r16812;
        float r16828 = y1;
        float r16829 = r16828 * r16815;
        float r16830 = r16827 - r16829;
        float r16831 = r16825 * r16830;
        float r16832 = r16820 - r16831;
        float r16833 = y2;
        float r16834 = r16803 * r16833;
        float r16835 = y3;
        float r16836 = r16806 * r16835;
        float r16837 = r16834 - r16836;
        float r16838 = r16826 * r16814;
        float r16839 = r16828 * r16811;
        float r16840 = r16838 - r16839;
        float r16841 = r16837 * r16840;
        float r16842 = r16832 + r16841;
        float r16843 = r16807 * r16821;
        float r16844 = r16804 * r16823;
        float r16845 = r16843 - r16844;
        float r16846 = y4;
        float r16847 = r16846 * r16812;
        float r16848 = y5;
        float r16849 = r16848 * r16815;
        float r16850 = r16847 - r16849;
        float r16851 = r16845 * r16850;
        float r16852 = r16842 + r16851;
        float r16853 = r16807 * r16833;
        float r16854 = r16804 * r16835;
        float r16855 = r16853 - r16854;
        float r16856 = r16846 * r16814;
        float r16857 = r16848 * r16811;
        float r16858 = r16856 - r16857;
        float r16859 = r16855 * r16858;
        float r16860 = r16852 - r16859;
        float r16861 = r16823 * r16833;
        float r16862 = r16821 * r16835;
        float r16863 = r16861 - r16862;
        float r16864 = r16846 * r16828;
        float r16865 = r16848 * r16826;
        float r16866 = r16864 - r16865;
        float r16867 = r16863 * r16866;
        float r16868 = r16860 + r16867;
        return r16868;
}

double f_od(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 r16869 = x;
        double r16870 = y;
        double r16871 = r16869 * r16870;
        double r16872 = z;
        double r16873 = t;
        double r16874 = r16872 * r16873;
        double r16875 = r16871 - r16874;
        double r16876 = cbrt(r16875);
        double r16877 = a;
        double r16878 = b;
        double r16879 = r16877 * r16878;
        double r16880 = c;
        double r16881 = i;
        double r16882 = r16880 * r16881;
        double r16883 = r16879 - r16882;
        double r16884 = cbrt(r16883);
        double r16885 = r16876 * r16884;
        double r16886 = r16885 * (r16885 * r16885);
        double r16887 = j;
        double r16888 = r16869 * r16887;
        double r16889 = k;
        double r16890 = r16872 * r16889;
        double r16891 = r16888 - r16890;
        double r16892 = y0;
        double r16893 = r16892 * r16878;
        double r16894 = y1;
        double r16895 = r16894 * r16881;
        double r16896 = r16893 - r16895;
        double r16897 = r16891 * r16896;
        double r16898 = r16886 - r16897;
        double r16899 = y2;
        double r16900 = r16869 * r16899;
        double r16901 = y3;
        double r16902 = r16872 * r16901;
        double r16903 = r16900 - r16902;
        double r16904 = r16892 * r16880;
        double r16905 = r16894 * r16877;
        double r16906 = r16904 - r16905;
        double r16907 = r16903 * r16906;
        double r16908 = r16898 + r16907;
        double r16909 = r16873 * r16887;
        double r16910 = r16870 * r16889;
        double r16911 = r16909 - r16910;
        double r16912 = y4;
        double r16913 = r16912 * r16878;
        double r16914 = y5;
        double r16915 = r16914 * r16881;
        double r16916 = r16913 - r16915;
        double r16917 = r16911 * r16916;
        double r16918 = r16908 + r16917;
        double r16919 = r16873 * r16899;
        double r16920 = r16870 * r16901;
        double r16921 = r16919 - r16920;
        double r16922 = r16912 * r16880;
        double r16923 = r16914 * r16877;
        double r16924 = r16922 - r16923;
        double r16925 = r16921 * r16924;
        double r16926 = r16918 - r16925;
        double r16927 = r16889 * r16899;
        double r16928 = r16887 * r16901;
        double r16929 = r16927 - r16928;
        double r16930 = r16912 * r16894;
        double r16931 = r16914 * r16892;
        double r16932 = r16930 - r16931;
        double r16933 = r16929 * r16932;
        double r16934 = r16926 + r16933;
        return r16934;
}

void mpfr_fmod2(mpfr_t r, mpfr_t n, mpfr_t d, mpfr_rnd_t rmd) {
        mpfr_fmod(r, n, d, rmd);
        if (mpfr_cmp_ui(r, 0) < 0) mpfr_add(r, r, d, rmd);
}


static mpfr_t r16935, r16936, r16937, r16938, r16939, r16940, r16941, r16942, r16943, r16944, r16945, r16946, r16947, r16948, r16949, r16950, r16951, r16952, r16953, r16954, r16955, r16956, r16957, r16958, r16959, r16960, r16961, r16962, r16963, r16964, r16965, r16966, r16967, r16968, r16969, r16970, r16971, r16972, r16973, r16974, r16975, r16976, r16977, r16978, r16979, r16980, r16981, r16982, r16983, r16984, r16985, r16986, r16987, r16988, r16989, r16990, r16991, r16992, r16993, r16994, r16995, r16996, r16997;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r16935);
        mpfr_init(r16936);
        mpfr_init(r16937);
        mpfr_init(r16938);
        mpfr_init(r16939);
        mpfr_init(r16940);
        mpfr_init(r16941);
        mpfr_init(r16942);
        mpfr_init(r16943);
        mpfr_init(r16944);
        mpfr_init(r16945);
        mpfr_init(r16946);
        mpfr_init(r16947);
        mpfr_init(r16948);
        mpfr_init(r16949);
        mpfr_init(r16950);
        mpfr_init(r16951);
        mpfr_init(r16952);
        mpfr_init(r16953);
        mpfr_init(r16954);
        mpfr_init(r16955);
        mpfr_init(r16956);
        mpfr_init(r16957);
        mpfr_init(r16958);
        mpfr_init(r16959);
        mpfr_init(r16960);
        mpfr_init(r16961);
        mpfr_init(r16962);
        mpfr_init(r16963);
        mpfr_init(r16964);
        mpfr_init(r16965);
        mpfr_init(r16966);
        mpfr_init(r16967);
        mpfr_init(r16968);
        mpfr_init(r16969);
        mpfr_init(r16970);
        mpfr_init(r16971);
        mpfr_init(r16972);
        mpfr_init(r16973);
        mpfr_init(r16974);
        mpfr_init(r16975);
        mpfr_init(r16976);
        mpfr_init(r16977);
        mpfr_init(r16978);
        mpfr_init(r16979);
        mpfr_init(r16980);
        mpfr_init(r16981);
        mpfr_init(r16982);
        mpfr_init(r16983);
        mpfr_init(r16984);
        mpfr_init(r16985);
        mpfr_init(r16986);
        mpfr_init(r16987);
        mpfr_init(r16988);
        mpfr_init(r16989);
        mpfr_init(r16990);
        mpfr_init(r16991);
        mpfr_init(r16992);
        mpfr_init(r16993);
        mpfr_init(r16994);
        mpfr_init(r16995);
        mpfr_init(r16996);
        mpfr_init(r16997);
}

double f_im(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) {
        mpfr_set_d(r16935, x, MPFR_RNDN);
        mpfr_set_d(r16936, y, MPFR_RNDN);
        mpfr_mul(r16937, r16935, r16936, MPFR_RNDN);
        mpfr_set_d(r16938, z, MPFR_RNDN);
        mpfr_set_d(r16939, t, MPFR_RNDN);
        mpfr_mul(r16940, r16938, r16939, MPFR_RNDN);
        mpfr_sub(r16941, r16937, r16940, MPFR_RNDN);
        mpfr_set_d(r16942, a, MPFR_RNDN);
        mpfr_set_d(r16943, b, MPFR_RNDN);
        mpfr_mul(r16944, r16942, r16943, MPFR_RNDN);
        mpfr_set_d(r16945, c, MPFR_RNDN);
        mpfr_set_d(r16946, i, MPFR_RNDN);
        mpfr_mul(r16947, r16945, r16946, MPFR_RNDN);
        mpfr_sub(r16948, r16944, r16947, MPFR_RNDN);
        mpfr_mul(r16949, r16941, r16948, MPFR_RNDN);
        mpfr_set_d(r16950, j, MPFR_RNDN);
        mpfr_mul(r16951, r16935, r16950, MPFR_RNDN);
        mpfr_set_d(r16952, k, MPFR_RNDN);
        mpfr_mul(r16953, r16938, r16952, MPFR_RNDN);
        mpfr_sub(r16954, r16951, r16953, MPFR_RNDN);
        mpfr_set_d(r16955, y0, MPFR_RNDN);
        mpfr_mul(r16956, r16955, r16943, MPFR_RNDN);
        mpfr_set_d(r16957, y1, MPFR_RNDN);
        mpfr_mul(r16958, r16957, r16946, MPFR_RNDN);
        mpfr_sub(r16959, r16956, r16958, MPFR_RNDN);
        mpfr_mul(r16960, r16954, r16959, MPFR_RNDN);
        mpfr_sub(r16961, r16949, r16960, MPFR_RNDN);
        mpfr_set_d(r16962, y2, MPFR_RNDN);
        mpfr_mul(r16963, r16935, r16962, MPFR_RNDN);
        mpfr_set_d(r16964, y3, MPFR_RNDN);
        mpfr_mul(r16965, r16938, r16964, MPFR_RNDN);
        mpfr_sub(r16966, r16963, r16965, MPFR_RNDN);
        mpfr_mul(r16967, r16955, r16945, MPFR_RNDN);
        mpfr_mul(r16968, r16957, r16942, MPFR_RNDN);
        mpfr_sub(r16969, r16967, r16968, MPFR_RNDN);
        mpfr_mul(r16970, r16966, r16969, MPFR_RNDN);
        mpfr_add(r16971, r16961, r16970, MPFR_RNDN);
        mpfr_mul(r16972, r16939, r16950, MPFR_RNDN);
        mpfr_mul(r16973, r16936, r16952, MPFR_RNDN);
        mpfr_sub(r16974, r16972, r16973, MPFR_RNDN);
        mpfr_set_d(r16975, y4, MPFR_RNDN);
        mpfr_mul(r16976, r16975, r16943, MPFR_RNDN);
        mpfr_set_d(r16977, y5, MPFR_RNDN);
        mpfr_mul(r16978, r16977, r16946, MPFR_RNDN);
        mpfr_sub(r16979, r16976, r16978, MPFR_RNDN);
        mpfr_mul(r16980, r16974, r16979, MPFR_RNDN);
        mpfr_add(r16981, r16971, r16980, MPFR_RNDN);
        mpfr_mul(r16982, r16939, r16962, MPFR_RNDN);
        mpfr_mul(r16983, r16936, r16964, MPFR_RNDN);
        mpfr_sub(r16984, r16982, r16983, MPFR_RNDN);
        mpfr_mul(r16985, r16975, r16945, MPFR_RNDN);
        mpfr_mul(r16986, r16977, r16942, MPFR_RNDN);
        mpfr_sub(r16987, r16985, r16986, MPFR_RNDN);
        mpfr_mul(r16988, r16984, r16987, MPFR_RNDN);
        mpfr_sub(r16989, r16981, r16988, MPFR_RNDN);
        mpfr_mul(r16990, r16952, r16962, MPFR_RNDN);
        mpfr_mul(r16991, r16950, r16964, MPFR_RNDN);
        mpfr_sub(r16992, r16990, r16991, MPFR_RNDN);
        mpfr_mul(r16993, r16975, r16957, MPFR_RNDN);
        mpfr_mul(r16994, r16977, r16955, MPFR_RNDN);
        mpfr_sub(r16995, r16993, r16994, MPFR_RNDN);
        mpfr_mul(r16996, r16992, r16995, MPFR_RNDN);
        mpfr_add(r16997, r16989, r16996, MPFR_RNDN);
        return mpfr_get_d(r16997, MPFR_RNDN);
}

static mpfr_t r16998, r16999, r17000, r17001, r17002, r17003, r17004, r17005, r17006, r17007, r17008, r17009, r17010, r17011, r17012, r17013, r17014, r17015, r17016, r17017, r17018, r17019, r17020, r17021, r17022, r17023, r17024, r17025, r17026, r17027, r17028, r17029, r17030, r17031, r17032, r17033, r17034, r17035, r17036, r17037, r17038, r17039, r17040, r17041, r17042, r17043, r17044, r17045, r17046, r17047, r17048, r17049, r17050, r17051, r17052, r17053, r17054, r17055, r17056, r17057, r17058, r17059, r17060, r17061, r17062, r17063;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r16998);
        mpfr_init(r16999);
        mpfr_init(r17000);
        mpfr_init(r17001);
        mpfr_init(r17002);
        mpfr_init(r17003);
        mpfr_init(r17004);
        mpfr_init(r17005);
        mpfr_init(r17006);
        mpfr_init(r17007);
        mpfr_init(r17008);
        mpfr_init(r17009);
        mpfr_init(r17010);
        mpfr_init(r17011);
        mpfr_init(r17012);
        mpfr_init(r17013);
        mpfr_init(r17014);
        mpfr_init(r17015);
        mpfr_init(r17016);
        mpfr_init(r17017);
        mpfr_init(r17018);
        mpfr_init(r17019);
        mpfr_init(r17020);
        mpfr_init(r17021);
        mpfr_init(r17022);
        mpfr_init(r17023);
        mpfr_init(r17024);
        mpfr_init(r17025);
        mpfr_init(r17026);
        mpfr_init(r17027);
        mpfr_init(r17028);
        mpfr_init(r17029);
        mpfr_init(r17030);
        mpfr_init(r17031);
        mpfr_init(r17032);
        mpfr_init(r17033);
        mpfr_init(r17034);
        mpfr_init(r17035);
        mpfr_init(r17036);
        mpfr_init(r17037);
        mpfr_init(r17038);
        mpfr_init(r17039);
        mpfr_init(r17040);
        mpfr_init(r17041);
        mpfr_init(r17042);
        mpfr_init(r17043);
        mpfr_init(r17044);
        mpfr_init(r17045);
        mpfr_init(r17046);
        mpfr_init(r17047);
        mpfr_init(r17048);
        mpfr_init(r17049);
        mpfr_init(r17050);
        mpfr_init(r17051);
        mpfr_init(r17052);
        mpfr_init(r17053);
        mpfr_init(r17054);
        mpfr_init(r17055);
        mpfr_init(r17056);
        mpfr_init(r17057);
        mpfr_init(r17058);
        mpfr_init(r17059);
        mpfr_init(r17060);
        mpfr_init(r17061);
        mpfr_init(r17062);
        mpfr_init(r17063);
}

double f_fm(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) {
        mpfr_set_d(r16998, x, MPFR_RNDN);
        mpfr_set_d(r16999, y, MPFR_RNDN);
        mpfr_mul(r17000, r16998, r16999, MPFR_RNDN);
        mpfr_set_d(r17001, z, MPFR_RNDN);
        mpfr_set_d(r17002, t, MPFR_RNDN);
        mpfr_mul(r17003, r17001, r17002, MPFR_RNDN);
        mpfr_sub(r17004, r17000, r17003, MPFR_RNDN);
        mpfr_cbrt(r17005, r17004, MPFR_RNDN);
        mpfr_set_d(r17006, a, MPFR_RNDN);
        mpfr_set_d(r17007, b, MPFR_RNDN);
        mpfr_mul(r17008, r17006, r17007, MPFR_RNDN);
        mpfr_set_d(r17009, c, MPFR_RNDN);
        mpfr_set_d(r17010, i, MPFR_RNDN);
        mpfr_mul(r17011, r17009, r17010, MPFR_RNDN);
        mpfr_sub(r17012, r17008, r17011, MPFR_RNDN);
        mpfr_cbrt(r17013, r17012, MPFR_RNDN);
        mpfr_mul(r17014, r17005, r17013, MPFR_RNDN);
        mpfr_mul(r17015, r17014, r17014, MPFR_RNDN); mpfr_mul(r17015, r17015, r17014, MPFR_RNDN);
        mpfr_set_d(r17016, j, MPFR_RNDN);
        mpfr_mul(r17017, r16998, r17016, MPFR_RNDN);
        mpfr_set_d(r17018, k, MPFR_RNDN);
        mpfr_mul(r17019, r17001, r17018, MPFR_RNDN);
        mpfr_sub(r17020, r17017, r17019, MPFR_RNDN);
        mpfr_set_d(r17021, y0, MPFR_RNDN);
        mpfr_mul(r17022, r17021, r17007, MPFR_RNDN);
        mpfr_set_d(r17023, y1, MPFR_RNDN);
        mpfr_mul(r17024, r17023, r17010, MPFR_RNDN);
        mpfr_sub(r17025, r17022, r17024, MPFR_RNDN);
        mpfr_mul(r17026, r17020, r17025, MPFR_RNDN);
        mpfr_sub(r17027, r17015, r17026, MPFR_RNDN);
        mpfr_set_d(r17028, y2, MPFR_RNDN);
        mpfr_mul(r17029, r16998, r17028, MPFR_RNDN);
        mpfr_set_d(r17030, y3, MPFR_RNDN);
        mpfr_mul(r17031, r17001, r17030, MPFR_RNDN);
        mpfr_sub(r17032, r17029, r17031, MPFR_RNDN);
        mpfr_mul(r17033, r17021, r17009, MPFR_RNDN);
        mpfr_mul(r17034, r17023, r17006, MPFR_RNDN);
        mpfr_sub(r17035, r17033, r17034, MPFR_RNDN);
        mpfr_mul(r17036, r17032, r17035, MPFR_RNDN);
        mpfr_add(r17037, r17027, r17036, MPFR_RNDN);
        mpfr_mul(r17038, r17002, r17016, MPFR_RNDN);
        mpfr_mul(r17039, r16999, r17018, MPFR_RNDN);
        mpfr_sub(r17040, r17038, r17039, MPFR_RNDN);
        mpfr_set_d(r17041, y4, MPFR_RNDN);
        mpfr_mul(r17042, r17041, r17007, MPFR_RNDN);
        mpfr_set_d(r17043, y5, MPFR_RNDN);
        mpfr_mul(r17044, r17043, r17010, MPFR_RNDN);
        mpfr_sub(r17045, r17042, r17044, MPFR_RNDN);
        mpfr_mul(r17046, r17040, r17045, MPFR_RNDN);
        mpfr_add(r17047, r17037, r17046, MPFR_RNDN);
        mpfr_mul(r17048, r17002, r17028, MPFR_RNDN);
        mpfr_mul(r17049, r16999, r17030, MPFR_RNDN);
        mpfr_sub(r17050, r17048, r17049, MPFR_RNDN);
        mpfr_mul(r17051, r17041, r17009, MPFR_RNDN);
        mpfr_mul(r17052, r17043, r17006, MPFR_RNDN);
        mpfr_sub(r17053, r17051, r17052, MPFR_RNDN);
        mpfr_mul(r17054, r17050, r17053, MPFR_RNDN);
        mpfr_sub(r17055, r17047, r17054, MPFR_RNDN);
        mpfr_mul(r17056, r17018, r17028, MPFR_RNDN);
        mpfr_mul(r17057, r17016, r17030, MPFR_RNDN);
        mpfr_sub(r17058, r17056, r17057, MPFR_RNDN);
        mpfr_mul(r17059, r17041, r17023, MPFR_RNDN);
        mpfr_mul(r17060, r17043, r17021, MPFR_RNDN);
        mpfr_sub(r17061, r17059, r17060, MPFR_RNDN);
        mpfr_mul(r17062, r17058, r17061, MPFR_RNDN);
        mpfr_add(r17063, r17055, r17062, MPFR_RNDN);
        return mpfr_get_d(r17063, MPFR_RNDN);
}

static mpfr_t r17064, r17065, r17066, r17067, r17068, r17069, r17070, r17071, r17072, r17073, r17074, r17075, r17076, r17077, r17078, r17079, r17080, r17081, r17082, r17083, r17084, r17085, r17086, r17087, r17088, r17089, r17090, r17091, r17092, r17093, r17094, r17095, r17096, r17097, r17098, r17099, r17100, r17101, r17102, r17103, r17104, r17105, r17106, r17107, r17108, r17109, r17110, r17111, r17112, r17113, r17114, r17115, r17116, r17117, r17118, r17119, r17120, r17121, r17122, r17123, r17124, r17125, r17126, r17127, r17128, r17129;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r17064);
        mpfr_init(r17065);
        mpfr_init(r17066);
        mpfr_init(r17067);
        mpfr_init(r17068);
        mpfr_init(r17069);
        mpfr_init(r17070);
        mpfr_init(r17071);
        mpfr_init(r17072);
        mpfr_init(r17073);
        mpfr_init(r17074);
        mpfr_init(r17075);
        mpfr_init(r17076);
        mpfr_init(r17077);
        mpfr_init(r17078);
        mpfr_init(r17079);
        mpfr_init(r17080);
        mpfr_init(r17081);
        mpfr_init(r17082);
        mpfr_init(r17083);
        mpfr_init(r17084);
        mpfr_init(r17085);
        mpfr_init(r17086);
        mpfr_init(r17087);
        mpfr_init(r17088);
        mpfr_init(r17089);
        mpfr_init(r17090);
        mpfr_init(r17091);
        mpfr_init(r17092);
        mpfr_init(r17093);
        mpfr_init(r17094);
        mpfr_init(r17095);
        mpfr_init(r17096);
        mpfr_init(r17097);
        mpfr_init(r17098);
        mpfr_init(r17099);
        mpfr_init(r17100);
        mpfr_init(r17101);
        mpfr_init(r17102);
        mpfr_init(r17103);
        mpfr_init(r17104);
        mpfr_init(r17105);
        mpfr_init(r17106);
        mpfr_init(r17107);
        mpfr_init(r17108);
        mpfr_init(r17109);
        mpfr_init(r17110);
        mpfr_init(r17111);
        mpfr_init(r17112);
        mpfr_init(r17113);
        mpfr_init(r17114);
        mpfr_init(r17115);
        mpfr_init(r17116);
        mpfr_init(r17117);
        mpfr_init(r17118);
        mpfr_init(r17119);
        mpfr_init(r17120);
        mpfr_init(r17121);
        mpfr_init(r17122);
        mpfr_init(r17123);
        mpfr_init(r17124);
        mpfr_init(r17125);
        mpfr_init(r17126);
        mpfr_init(r17127);
        mpfr_init(r17128);
        mpfr_init(r17129);
}

double f_dm(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) {
        mpfr_set_d(r17064, x, MPFR_RNDN);
        mpfr_set_d(r17065, y, MPFR_RNDN);
        mpfr_mul(r17066, r17064, r17065, MPFR_RNDN);
        mpfr_set_d(r17067, z, MPFR_RNDN);
        mpfr_set_d(r17068, t, MPFR_RNDN);
        mpfr_mul(r17069, r17067, r17068, MPFR_RNDN);
        mpfr_sub(r17070, r17066, r17069, MPFR_RNDN);
        mpfr_cbrt(r17071, r17070, MPFR_RNDN);
        mpfr_set_d(r17072, a, MPFR_RNDN);
        mpfr_set_d(r17073, b, MPFR_RNDN);
        mpfr_mul(r17074, r17072, r17073, MPFR_RNDN);
        mpfr_set_d(r17075, c, MPFR_RNDN);
        mpfr_set_d(r17076, i, MPFR_RNDN);
        mpfr_mul(r17077, r17075, r17076, MPFR_RNDN);
        mpfr_sub(r17078, r17074, r17077, MPFR_RNDN);
        mpfr_cbrt(r17079, r17078, MPFR_RNDN);
        mpfr_mul(r17080, r17071, r17079, MPFR_RNDN);
        mpfr_mul(r17081, r17080, r17080, MPFR_RNDN); mpfr_mul(r17081, r17081, r17080, MPFR_RNDN);
        mpfr_set_d(r17082, j, MPFR_RNDN);
        mpfr_mul(r17083, r17064, r17082, MPFR_RNDN);
        mpfr_set_d(r17084, k, MPFR_RNDN);
        mpfr_mul(r17085, r17067, r17084, MPFR_RNDN);
        mpfr_sub(r17086, r17083, r17085, MPFR_RNDN);
        mpfr_set_d(r17087, y0, MPFR_RNDN);
        mpfr_mul(r17088, r17087, r17073, MPFR_RNDN);
        mpfr_set_d(r17089, y1, MPFR_RNDN);
        mpfr_mul(r17090, r17089, r17076, MPFR_RNDN);
        mpfr_sub(r17091, r17088, r17090, MPFR_RNDN);
        mpfr_mul(r17092, r17086, r17091, MPFR_RNDN);
        mpfr_sub(r17093, r17081, r17092, MPFR_RNDN);
        mpfr_set_d(r17094, y2, MPFR_RNDN);
        mpfr_mul(r17095, r17064, r17094, MPFR_RNDN);
        mpfr_set_d(r17096, y3, MPFR_RNDN);
        mpfr_mul(r17097, r17067, r17096, MPFR_RNDN);
        mpfr_sub(r17098, r17095, r17097, MPFR_RNDN);
        mpfr_mul(r17099, r17087, r17075, MPFR_RNDN);
        mpfr_mul(r17100, r17089, r17072, MPFR_RNDN);
        mpfr_sub(r17101, r17099, r17100, MPFR_RNDN);
        mpfr_mul(r17102, r17098, r17101, MPFR_RNDN);
        mpfr_add(r17103, r17093, r17102, MPFR_RNDN);
        mpfr_mul(r17104, r17068, r17082, MPFR_RNDN);
        mpfr_mul(r17105, r17065, r17084, MPFR_RNDN);
        mpfr_sub(r17106, r17104, r17105, MPFR_RNDN);
        mpfr_set_d(r17107, y4, MPFR_RNDN);
        mpfr_mul(r17108, r17107, r17073, MPFR_RNDN);
        mpfr_set_d(r17109, y5, MPFR_RNDN);
        mpfr_mul(r17110, r17109, r17076, MPFR_RNDN);
        mpfr_sub(r17111, r17108, r17110, MPFR_RNDN);
        mpfr_mul(r17112, r17106, r17111, MPFR_RNDN);
        mpfr_add(r17113, r17103, r17112, MPFR_RNDN);
        mpfr_mul(r17114, r17068, r17094, MPFR_RNDN);
        mpfr_mul(r17115, r17065, r17096, MPFR_RNDN);
        mpfr_sub(r17116, r17114, r17115, MPFR_RNDN);
        mpfr_mul(r17117, r17107, r17075, MPFR_RNDN);
        mpfr_mul(r17118, r17109, r17072, MPFR_RNDN);
        mpfr_sub(r17119, r17117, r17118, MPFR_RNDN);
        mpfr_mul(r17120, r17116, r17119, MPFR_RNDN);
        mpfr_sub(r17121, r17113, r17120, MPFR_RNDN);
        mpfr_mul(r17122, r17084, r17094, MPFR_RNDN);
        mpfr_mul(r17123, r17082, r17096, MPFR_RNDN);
        mpfr_sub(r17124, r17122, r17123, MPFR_RNDN);
        mpfr_mul(r17125, r17107, r17089, MPFR_RNDN);
        mpfr_mul(r17126, r17109, r17087, MPFR_RNDN);
        mpfr_sub(r17127, r17125, r17126, MPFR_RNDN);
        mpfr_mul(r17128, r17124, r17127, MPFR_RNDN);
        mpfr_add(r17129, r17121, r17128, MPFR_RNDN);
        return mpfr_get_d(r17129, MPFR_RNDN);
}

