#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 r9676 = x;
        float r9677 = y;
        float r9678 = r9676 * r9677;
        float r9679 = z;
        float r9680 = t;
        float r9681 = r9679 * r9680;
        float r9682 = r9678 - r9681;
        float r9683 = a;
        float r9684 = b;
        float r9685 = r9683 * r9684;
        float r9686 = c;
        float r9687 = i;
        float r9688 = r9686 * r9687;
        float r9689 = r9685 - r9688;
        float r9690 = r9682 * r9689;
        float r9691 = j;
        float r9692 = r9676 * r9691;
        float r9693 = k;
        float r9694 = r9679 * r9693;
        float r9695 = r9692 - r9694;
        float r9696 = y0;
        float r9697 = r9696 * r9684;
        float r9698 = y1;
        float r9699 = r9698 * r9687;
        float r9700 = r9697 - r9699;
        float r9701 = r9695 * r9700;
        float r9702 = r9690 - r9701;
        float r9703 = y2;
        float r9704 = r9676 * r9703;
        float r9705 = y3;
        float r9706 = r9679 * r9705;
        float r9707 = r9704 - r9706;
        float r9708 = r9696 * r9686;
        float r9709 = r9698 * r9683;
        float r9710 = r9708 - r9709;
        float r9711 = r9707 * r9710;
        float r9712 = r9702 + r9711;
        float r9713 = r9680 * r9691;
        float r9714 = r9677 * r9693;
        float r9715 = r9713 - r9714;
        float r9716 = y4;
        float r9717 = r9716 * r9684;
        float r9718 = y5;
        float r9719 = r9718 * r9687;
        float r9720 = r9717 - r9719;
        float r9721 = r9715 * r9720;
        float r9722 = r9712 + r9721;
        float r9723 = r9680 * r9703;
        float r9724 = r9677 * r9705;
        float r9725 = r9723 - r9724;
        float r9726 = r9716 * r9686;
        float r9727 = r9718 * r9683;
        float r9728 = r9726 - r9727;
        float r9729 = r9725 * r9728;
        float r9730 = r9722 - r9729;
        float r9731 = r9693 * r9703;
        float r9732 = r9691 * r9705;
        float r9733 = r9731 - r9732;
        float r9734 = r9716 * r9698;
        float r9735 = r9718 * r9696;
        float r9736 = r9734 - r9735;
        float r9737 = r9733 * r9736;
        float r9738 = r9730 + r9737;
        return r9738;
}

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 r9739 = x;
        double r9740 = y;
        double r9741 = r9739 * r9740;
        double r9742 = z;
        double r9743 = t;
        double r9744 = r9742 * r9743;
        double r9745 = r9741 - r9744;
        double r9746 = a;
        double r9747 = b;
        double r9748 = r9746 * r9747;
        double r9749 = c;
        double r9750 = i;
        double r9751 = r9749 * r9750;
        double r9752 = r9748 - r9751;
        double r9753 = r9745 * r9752;
        double r9754 = j;
        double r9755 = r9739 * r9754;
        double r9756 = k;
        double r9757 = r9742 * r9756;
        double r9758 = r9755 - r9757;
        double r9759 = y0;
        double r9760 = r9759 * r9747;
        double r9761 = y1;
        double r9762 = r9761 * r9750;
        double r9763 = r9760 - r9762;
        double r9764 = r9758 * r9763;
        double r9765 = r9753 - r9764;
        double r9766 = y2;
        double r9767 = r9739 * r9766;
        double r9768 = y3;
        double r9769 = r9742 * r9768;
        double r9770 = r9767 - r9769;
        double r9771 = r9759 * r9749;
        double r9772 = r9761 * r9746;
        double r9773 = r9771 - r9772;
        double r9774 = r9770 * r9773;
        double r9775 = r9765 + r9774;
        double r9776 = r9743 * r9754;
        double r9777 = r9740 * r9756;
        double r9778 = r9776 - r9777;
        double r9779 = y4;
        double r9780 = r9779 * r9747;
        double r9781 = y5;
        double r9782 = r9781 * r9750;
        double r9783 = r9780 - r9782;
        double r9784 = r9778 * r9783;
        double r9785 = r9775 + r9784;
        double r9786 = r9743 * r9766;
        double r9787 = r9740 * r9768;
        double r9788 = r9786 - r9787;
        double r9789 = r9779 * r9749;
        double r9790 = r9781 * r9746;
        double r9791 = r9789 - r9790;
        double r9792 = r9788 * r9791;
        double r9793 = r9785 - r9792;
        double r9794 = r9756 * r9766;
        double r9795 = r9754 * r9768;
        double r9796 = r9794 - r9795;
        double r9797 = r9779 * r9761;
        double r9798 = r9781 * r9759;
        double r9799 = r9797 - r9798;
        double r9800 = r9796 * r9799;
        double r9801 = r9793 + r9800;
        return r9801;
}


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 r9802 = t;
        float r9803 = j;
        float r9804 = r9802 * r9803;
        float r9805 = k;
        float r9806 = y;
        float r9807 = r9805 * r9806;
        float r9808 = r9804 - r9807;
        float r9809 = b;
        float r9810 = y4;
        float r9811 = r9809 * r9810;
        float r9812 = y5;
        float r9813 = i;
        float r9814 = r9812 * r9813;
        float r9815 = r9811 - r9814;
        float r9816 = r9808 * r9815;
        float r9817 = a;
        float r9818 = r9817 * r9809;
        float r9819 = c;
        float r9820 = r9819 * r9813;
        float r9821 = r9818 - r9820;
        float r9822 = x;
        float r9823 = r9822 * r9806;
        float r9824 = z;
        float r9825 = r9824 * r9802;
        float r9826 = r9823 - r9825;
        float r9827 = r9821 * r9826;
        float r9828 = y0;
        float r9829 = r9828 * r9809;
        float r9830 = y1;
        float r9831 = r9813 * r9830;
        float r9832 = r9829 - r9831;
        float r9833 = r9803 * r9822;
        float r9834 = r9824 * r9805;
        float r9835 = r9833 - r9834;
        float r9836 = r9832 * r9835;
        float r9837 = r9827 - r9836;
        float r9838 = y2;
        float r9839 = r9838 * r9822;
        float r9840 = y3;
        float r9841 = r9824 * r9840;
        float r9842 = r9839 - r9841;
        float r9843 = r9828 * r9819;
        float r9844 = r9830 * r9817;
        float r9845 = r9843 - r9844;
        float r9846 = r9842 * r9845;
        float r9847 = r9837 + r9846;
        float r9848 = r9816 + r9847;
        float r9849 = r9838 * r9802;
        float r9850 = r9806 * r9840;
        float r9851 = r9849 - r9850;
        float r9852 = r9819 * r9810;
        float r9853 = r9817 * r9812;
        float r9854 = r9852 - r9853;
        float r9855 = r9851 * r9854;
        float r9856 = r9848 - r9855;
        float r9857 = r9810 * r9830;
        float r9858 = r9828 * r9812;
        float r9859 = r9857 - r9858;
        float r9860 = r9838 * r9805;
        float r9861 = r9803 * r9840;
        float r9862 = r9860 - r9861;
        float r9863 = r9859 * r9862;
        float r9864 = r9856 + r9863;
        float r9865 = -2.0523342948283227e+295f;
        bool r9866 = r9864 <= r9865;
        float r9867 = r9819 * r9824;
        float r9868 = r9867 * r9813;
        float r9869 = r9868 * r9802;
        float r9870 = r9809 * r9824;
        float r9871 = r9870 * r9802;
        float r9872 = r9817 * r9871;
        float r9873 = r9819 * r9806;
        float r9874 = r9873 * r9822;
        float r9875 = r9874 * r9813;
        float r9876 = r9872 + r9875;
        float r9877 = r9869 - r9876;
        float r9878 = r9877 - r9836;
        float r9879 = r9846 + r9878;
        float r9880 = r9816 + r9879;
        float r9881 = r9880 - r9855;
        float r9882 = r9863 + r9881;
        float r9883 = 2.3218466239794902e+306f;
        bool r9884 = r9864 <= r9883;
        float r9885 = cbrt(r9863);
        float r9886 = r9885 * r9885;
        float r9887 = r9885 * r9886;
        float r9888 = r9856 + r9887;
        float r9889 = r9827 + r9846;
        float r9890 = r9816 + r9889;
        float r9891 = r9890 - r9855;
        float r9892 = r9891 + r9863;
        float r9893 = r9884 ? r9888 : r9892;
        float r9894 = r9866 ? r9882 : r9893;
        return r9894;
}

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 r9895 = t;
        double r9896 = j;
        double r9897 = r9895 * r9896;
        double r9898 = k;
        double r9899 = y;
        double r9900 = r9898 * r9899;
        double r9901 = r9897 - r9900;
        double r9902 = b;
        double r9903 = y4;
        double r9904 = r9902 * r9903;
        double r9905 = y5;
        double r9906 = i;
        double r9907 = r9905 * r9906;
        double r9908 = r9904 - r9907;
        double r9909 = r9901 * r9908;
        double r9910 = a;
        double r9911 = r9910 * r9902;
        double r9912 = c;
        double r9913 = r9912 * r9906;
        double r9914 = r9911 - r9913;
        double r9915 = x;
        double r9916 = r9915 * r9899;
        double r9917 = z;
        double r9918 = r9917 * r9895;
        double r9919 = r9916 - r9918;
        double r9920 = r9914 * r9919;
        double r9921 = y0;
        double r9922 = r9921 * r9902;
        double r9923 = y1;
        double r9924 = r9906 * r9923;
        double r9925 = r9922 - r9924;
        double r9926 = r9896 * r9915;
        double r9927 = r9917 * r9898;
        double r9928 = r9926 - r9927;
        double r9929 = r9925 * r9928;
        double r9930 = r9920 - r9929;
        double r9931 = y2;
        double r9932 = r9931 * r9915;
        double r9933 = y3;
        double r9934 = r9917 * r9933;
        double r9935 = r9932 - r9934;
        double r9936 = r9921 * r9912;
        double r9937 = r9923 * r9910;
        double r9938 = r9936 - r9937;
        double r9939 = r9935 * r9938;
        double r9940 = r9930 + r9939;
        double r9941 = r9909 + r9940;
        double r9942 = r9931 * r9895;
        double r9943 = r9899 * r9933;
        double r9944 = r9942 - r9943;
        double r9945 = r9912 * r9903;
        double r9946 = r9910 * r9905;
        double r9947 = r9945 - r9946;
        double r9948 = r9944 * r9947;
        double r9949 = r9941 - r9948;
        double r9950 = r9903 * r9923;
        double r9951 = r9921 * r9905;
        double r9952 = r9950 - r9951;
        double r9953 = r9931 * r9898;
        double r9954 = r9896 * r9933;
        double r9955 = r9953 - r9954;
        double r9956 = r9952 * r9955;
        double r9957 = r9949 + r9956;
        double r9958 = -2.0523342948283227e+295;
        bool r9959 = r9957 <= r9958;
        double r9960 = r9912 * r9917;
        double r9961 = r9960 * r9906;
        double r9962 = r9961 * r9895;
        double r9963 = r9902 * r9917;
        double r9964 = r9963 * r9895;
        double r9965 = r9910 * r9964;
        double r9966 = r9912 * r9899;
        double r9967 = r9966 * r9915;
        double r9968 = r9967 * r9906;
        double r9969 = r9965 + r9968;
        double r9970 = r9962 - r9969;
        double r9971 = r9970 - r9929;
        double r9972 = r9939 + r9971;
        double r9973 = r9909 + r9972;
        double r9974 = r9973 - r9948;
        double r9975 = r9956 + r9974;
        double r9976 = 2.3218466239794902e+306;
        bool r9977 = r9957 <= r9976;
        double r9978 = cbrt(r9956);
        double r9979 = r9978 * r9978;
        double r9980 = r9978 * r9979;
        double r9981 = r9949 + r9980;
        double r9982 = r9920 + r9939;
        double r9983 = r9909 + r9982;
        double r9984 = r9983 - r9948;
        double r9985 = r9984 + r9956;
        double r9986 = r9977 ? r9981 : r9985;
        double r9987 = r9959 ? r9975 : r9986;
        return r9987;
}

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 r9988, r9989, r9990, r9991, r9992, r9993, r9994, r9995, r9996, r9997, r9998, r9999, r10000, r10001, r10002, r10003, r10004, r10005, r10006, r10007, r10008, r10009, r10010, r10011, r10012, r10013, r10014, r10015, r10016, r10017, r10018, r10019, r10020, r10021, r10022, r10023, r10024, r10025, r10026, r10027, r10028, r10029, r10030, r10031, r10032, r10033, r10034, r10035, r10036, r10037, r10038, r10039, r10040, r10041, r10042, r10043, r10044, r10045, r10046, r10047, r10048, r10049, r10050;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9988);
        mpfr_init(r9989);
        mpfr_init(r9990);
        mpfr_init(r9991);
        mpfr_init(r9992);
        mpfr_init(r9993);
        mpfr_init(r9994);
        mpfr_init(r9995);
        mpfr_init(r9996);
        mpfr_init(r9997);
        mpfr_init(r9998);
        mpfr_init(r9999);
        mpfr_init(r10000);
        mpfr_init(r10001);
        mpfr_init(r10002);
        mpfr_init(r10003);
        mpfr_init(r10004);
        mpfr_init(r10005);
        mpfr_init(r10006);
        mpfr_init(r10007);
        mpfr_init(r10008);
        mpfr_init(r10009);
        mpfr_init(r10010);
        mpfr_init(r10011);
        mpfr_init(r10012);
        mpfr_init(r10013);
        mpfr_init(r10014);
        mpfr_init(r10015);
        mpfr_init(r10016);
        mpfr_init(r10017);
        mpfr_init(r10018);
        mpfr_init(r10019);
        mpfr_init(r10020);
        mpfr_init(r10021);
        mpfr_init(r10022);
        mpfr_init(r10023);
        mpfr_init(r10024);
        mpfr_init(r10025);
        mpfr_init(r10026);
        mpfr_init(r10027);
        mpfr_init(r10028);
        mpfr_init(r10029);
        mpfr_init(r10030);
        mpfr_init(r10031);
        mpfr_init(r10032);
        mpfr_init(r10033);
        mpfr_init(r10034);
        mpfr_init(r10035);
        mpfr_init(r10036);
        mpfr_init(r10037);
        mpfr_init(r10038);
        mpfr_init(r10039);
        mpfr_init(r10040);
        mpfr_init(r10041);
        mpfr_init(r10042);
        mpfr_init(r10043);
        mpfr_init(r10044);
        mpfr_init(r10045);
        mpfr_init(r10046);
        mpfr_init(r10047);
        mpfr_init(r10048);
        mpfr_init(r10049);
        mpfr_init(r10050);
}

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(r9988, x, MPFR_RNDN);
        mpfr_set_d(r9989, y, MPFR_RNDN);
        mpfr_mul(r9990, r9988, r9989, MPFR_RNDN);
        mpfr_set_d(r9991, z, MPFR_RNDN);
        mpfr_set_d(r9992, t, MPFR_RNDN);
        mpfr_mul(r9993, r9991, r9992, MPFR_RNDN);
        mpfr_sub(r9994, r9990, r9993, MPFR_RNDN);
        mpfr_set_d(r9995, a, MPFR_RNDN);
        mpfr_set_d(r9996, b, MPFR_RNDN);
        mpfr_mul(r9997, r9995, r9996, MPFR_RNDN);
        mpfr_set_d(r9998, c, MPFR_RNDN);
        mpfr_set_d(r9999, i, MPFR_RNDN);
        mpfr_mul(r10000, r9998, r9999, MPFR_RNDN);
        mpfr_sub(r10001, r9997, r10000, MPFR_RNDN);
        mpfr_mul(r10002, r9994, r10001, MPFR_RNDN);
        mpfr_set_d(r10003, j, MPFR_RNDN);
        mpfr_mul(r10004, r9988, r10003, MPFR_RNDN);
        mpfr_set_d(r10005, k, MPFR_RNDN);
        mpfr_mul(r10006, r9991, r10005, MPFR_RNDN);
        mpfr_sub(r10007, r10004, r10006, MPFR_RNDN);
        mpfr_set_d(r10008, y0, MPFR_RNDN);
        mpfr_mul(r10009, r10008, r9996, MPFR_RNDN);
        mpfr_set_d(r10010, y1, MPFR_RNDN);
        mpfr_mul(r10011, r10010, r9999, MPFR_RNDN);
        mpfr_sub(r10012, r10009, r10011, MPFR_RNDN);
        mpfr_mul(r10013, r10007, r10012, MPFR_RNDN);
        mpfr_sub(r10014, r10002, r10013, MPFR_RNDN);
        mpfr_set_d(r10015, y2, MPFR_RNDN);
        mpfr_mul(r10016, r9988, r10015, MPFR_RNDN);
        mpfr_set_d(r10017, y3, MPFR_RNDN);
        mpfr_mul(r10018, r9991, r10017, MPFR_RNDN);
        mpfr_sub(r10019, r10016, r10018, MPFR_RNDN);
        mpfr_mul(r10020, r10008, r9998, MPFR_RNDN);
        mpfr_mul(r10021, r10010, r9995, MPFR_RNDN);
        mpfr_sub(r10022, r10020, r10021, MPFR_RNDN);
        mpfr_mul(r10023, r10019, r10022, MPFR_RNDN);
        mpfr_add(r10024, r10014, r10023, MPFR_RNDN);
        mpfr_mul(r10025, r9992, r10003, MPFR_RNDN);
        mpfr_mul(r10026, r9989, r10005, MPFR_RNDN);
        mpfr_sub(r10027, r10025, r10026, MPFR_RNDN);
        mpfr_set_d(r10028, y4, MPFR_RNDN);
        mpfr_mul(r10029, r10028, r9996, MPFR_RNDN);
        mpfr_set_d(r10030, y5, MPFR_RNDN);
        mpfr_mul(r10031, r10030, r9999, MPFR_RNDN);
        mpfr_sub(r10032, r10029, r10031, MPFR_RNDN);
        mpfr_mul(r10033, r10027, r10032, MPFR_RNDN);
        mpfr_add(r10034, r10024, r10033, MPFR_RNDN);
        mpfr_mul(r10035, r9992, r10015, MPFR_RNDN);
        mpfr_mul(r10036, r9989, r10017, MPFR_RNDN);
        mpfr_sub(r10037, r10035, r10036, MPFR_RNDN);
        mpfr_mul(r10038, r10028, r9998, MPFR_RNDN);
        mpfr_mul(r10039, r10030, r9995, MPFR_RNDN);
        mpfr_sub(r10040, r10038, r10039, MPFR_RNDN);
        mpfr_mul(r10041, r10037, r10040, MPFR_RNDN);
        mpfr_sub(r10042, r10034, r10041, MPFR_RNDN);
        mpfr_mul(r10043, r10005, r10015, MPFR_RNDN);
        mpfr_mul(r10044, r10003, r10017, MPFR_RNDN);
        mpfr_sub(r10045, r10043, r10044, MPFR_RNDN);
        mpfr_mul(r10046, r10028, r10010, MPFR_RNDN);
        mpfr_mul(r10047, r10030, r10008, MPFR_RNDN);
        mpfr_sub(r10048, r10046, r10047, MPFR_RNDN);
        mpfr_mul(r10049, r10045, r10048, MPFR_RNDN);
        mpfr_add(r10050, r10042, r10049, MPFR_RNDN);
        return mpfr_get_d(r10050, MPFR_RNDN);
}

static mpfr_t r10051, r10052, r10053, r10054, r10055, r10056, r10057, r10058, r10059, r10060, r10061, r10062, r10063, r10064, r10065, r10066, r10067, r10068, r10069, r10070, r10071, r10072, r10073, r10074, r10075, r10076, r10077, r10078, r10079, r10080, r10081, r10082, r10083, r10084, r10085, r10086, r10087, r10088, r10089, r10090, r10091, r10092, r10093, r10094, r10095, r10096, r10097, r10098, r10099, r10100, r10101, r10102, r10103, r10104, r10105, r10106, r10107, r10108, r10109, r10110, r10111, r10112, r10113, r10114, r10115, r10116, r10117, r10118, r10119, r10120, r10121, r10122, r10123, r10124, r10125, r10126, r10127, r10128, r10129, r10130, r10131, r10132, r10133, r10134, r10135, r10136, r10137, r10138, r10139, r10140, r10141, r10142, r10143;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10051);
        mpfr_init(r10052);
        mpfr_init(r10053);
        mpfr_init(r10054);
        mpfr_init(r10055);
        mpfr_init(r10056);
        mpfr_init(r10057);
        mpfr_init(r10058);
        mpfr_init(r10059);
        mpfr_init(r10060);
        mpfr_init(r10061);
        mpfr_init(r10062);
        mpfr_init(r10063);
        mpfr_init(r10064);
        mpfr_init(r10065);
        mpfr_init(r10066);
        mpfr_init(r10067);
        mpfr_init(r10068);
        mpfr_init(r10069);
        mpfr_init(r10070);
        mpfr_init(r10071);
        mpfr_init(r10072);
        mpfr_init(r10073);
        mpfr_init(r10074);
        mpfr_init(r10075);
        mpfr_init(r10076);
        mpfr_init(r10077);
        mpfr_init(r10078);
        mpfr_init(r10079);
        mpfr_init(r10080);
        mpfr_init(r10081);
        mpfr_init(r10082);
        mpfr_init(r10083);
        mpfr_init(r10084);
        mpfr_init(r10085);
        mpfr_init(r10086);
        mpfr_init(r10087);
        mpfr_init(r10088);
        mpfr_init(r10089);
        mpfr_init(r10090);
        mpfr_init(r10091);
        mpfr_init(r10092);
        mpfr_init(r10093);
        mpfr_init(r10094);
        mpfr_init(r10095);
        mpfr_init(r10096);
        mpfr_init(r10097);
        mpfr_init(r10098);
        mpfr_init(r10099);
        mpfr_init(r10100);
        mpfr_init(r10101);
        mpfr_init(r10102);
        mpfr_init(r10103);
        mpfr_init(r10104);
        mpfr_init(r10105);
        mpfr_init(r10106);
        mpfr_init(r10107);
        mpfr_init(r10108);
        mpfr_init(r10109);
        mpfr_init(r10110);
        mpfr_init(r10111);
        mpfr_init(r10112);
        mpfr_init(r10113);
        mpfr_init_set_str(r10114, "-2.0523342948283227e+295", 10, MPFR_RNDN);
        mpfr_init(r10115);
        mpfr_init(r10116);
        mpfr_init(r10117);
        mpfr_init(r10118);
        mpfr_init(r10119);
        mpfr_init(r10120);
        mpfr_init(r10121);
        mpfr_init(r10122);
        mpfr_init(r10123);
        mpfr_init(r10124);
        mpfr_init(r10125);
        mpfr_init(r10126);
        mpfr_init(r10127);
        mpfr_init(r10128);
        mpfr_init(r10129);
        mpfr_init(r10130);
        mpfr_init(r10131);
        mpfr_init_set_str(r10132, "2.3218466239794902e+306", 10, MPFR_RNDN);
        mpfr_init(r10133);
        mpfr_init(r10134);
        mpfr_init(r10135);
        mpfr_init(r10136);
        mpfr_init(r10137);
        mpfr_init(r10138);
        mpfr_init(r10139);
        mpfr_init(r10140);
        mpfr_init(r10141);
        mpfr_init(r10142);
        mpfr_init(r10143);
}

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(r10051, t, MPFR_RNDN);
        mpfr_set_d(r10052, j, MPFR_RNDN);
        mpfr_mul(r10053, r10051, r10052, MPFR_RNDN);
        mpfr_set_d(r10054, k, MPFR_RNDN);
        mpfr_set_d(r10055, y, MPFR_RNDN);
        mpfr_mul(r10056, r10054, r10055, MPFR_RNDN);
        mpfr_sub(r10057, r10053, r10056, MPFR_RNDN);
        mpfr_set_d(r10058, b, MPFR_RNDN);
        mpfr_set_d(r10059, y4, MPFR_RNDN);
        mpfr_mul(r10060, r10058, r10059, MPFR_RNDN);
        mpfr_set_d(r10061, y5, MPFR_RNDN);
        mpfr_set_d(r10062, i, MPFR_RNDN);
        mpfr_mul(r10063, r10061, r10062, MPFR_RNDN);
        mpfr_sub(r10064, r10060, r10063, MPFR_RNDN);
        mpfr_mul(r10065, r10057, r10064, MPFR_RNDN);
        mpfr_set_d(r10066, a, MPFR_RNDN);
        mpfr_mul(r10067, r10066, r10058, MPFR_RNDN);
        mpfr_set_d(r10068, c, MPFR_RNDN);
        mpfr_mul(r10069, r10068, r10062, MPFR_RNDN);
        mpfr_sub(r10070, r10067, r10069, MPFR_RNDN);
        mpfr_set_d(r10071, x, MPFR_RNDN);
        mpfr_mul(r10072, r10071, r10055, MPFR_RNDN);
        mpfr_set_d(r10073, z, MPFR_RNDN);
        mpfr_mul(r10074, r10073, r10051, MPFR_RNDN);
        mpfr_sub(r10075, r10072, r10074, MPFR_RNDN);
        mpfr_mul(r10076, r10070, r10075, MPFR_RNDN);
        mpfr_set_d(r10077, y0, MPFR_RNDN);
        mpfr_mul(r10078, r10077, r10058, MPFR_RNDN);
        mpfr_set_d(r10079, y1, MPFR_RNDN);
        mpfr_mul(r10080, r10062, r10079, MPFR_RNDN);
        mpfr_sub(r10081, r10078, r10080, MPFR_RNDN);
        mpfr_mul(r10082, r10052, r10071, MPFR_RNDN);
        mpfr_mul(r10083, r10073, r10054, MPFR_RNDN);
        mpfr_sub(r10084, r10082, r10083, MPFR_RNDN);
        mpfr_mul(r10085, r10081, r10084, MPFR_RNDN);
        mpfr_sub(r10086, r10076, r10085, MPFR_RNDN);
        mpfr_set_d(r10087, y2, MPFR_RNDN);
        mpfr_mul(r10088, r10087, r10071, MPFR_RNDN);
        mpfr_set_d(r10089, y3, MPFR_RNDN);
        mpfr_mul(r10090, r10073, r10089, MPFR_RNDN);
        mpfr_sub(r10091, r10088, r10090, MPFR_RNDN);
        mpfr_mul(r10092, r10077, r10068, MPFR_RNDN);
        mpfr_mul(r10093, r10079, r10066, MPFR_RNDN);
        mpfr_sub(r10094, r10092, r10093, MPFR_RNDN);
        mpfr_mul(r10095, r10091, r10094, MPFR_RNDN);
        mpfr_add(r10096, r10086, r10095, MPFR_RNDN);
        mpfr_add(r10097, r10065, r10096, MPFR_RNDN);
        mpfr_mul(r10098, r10087, r10051, MPFR_RNDN);
        mpfr_mul(r10099, r10055, r10089, MPFR_RNDN);
        mpfr_sub(r10100, r10098, r10099, MPFR_RNDN);
        mpfr_mul(r10101, r10068, r10059, MPFR_RNDN);
        mpfr_mul(r10102, r10066, r10061, MPFR_RNDN);
        mpfr_sub(r10103, r10101, r10102, MPFR_RNDN);
        mpfr_mul(r10104, r10100, r10103, MPFR_RNDN);
        mpfr_sub(r10105, r10097, r10104, MPFR_RNDN);
        mpfr_mul(r10106, r10059, r10079, MPFR_RNDN);
        mpfr_mul(r10107, r10077, r10061, MPFR_RNDN);
        mpfr_sub(r10108, r10106, r10107, MPFR_RNDN);
        mpfr_mul(r10109, r10087, r10054, MPFR_RNDN);
        mpfr_mul(r10110, r10052, r10089, MPFR_RNDN);
        mpfr_sub(r10111, r10109, r10110, MPFR_RNDN);
        mpfr_mul(r10112, r10108, r10111, MPFR_RNDN);
        mpfr_add(r10113, r10105, r10112, MPFR_RNDN);
        ;
        mpfr_set_si(r10115, mpfr_cmp(r10113, r10114) <= 0, MPFR_RNDN);
        mpfr_mul(r10116, r10068, r10073, MPFR_RNDN);
        mpfr_mul(r10117, r10116, r10062, MPFR_RNDN);
        mpfr_mul(r10118, r10117, r10051, MPFR_RNDN);
        mpfr_mul(r10119, r10058, r10073, MPFR_RNDN);
        mpfr_mul(r10120, r10119, r10051, MPFR_RNDN);
        mpfr_mul(r10121, r10066, r10120, MPFR_RNDN);
        mpfr_mul(r10122, r10068, r10055, MPFR_RNDN);
        mpfr_mul(r10123, r10122, r10071, MPFR_RNDN);
        mpfr_mul(r10124, r10123, r10062, MPFR_RNDN);
        mpfr_add(r10125, r10121, r10124, MPFR_RNDN);
        mpfr_sub(r10126, r10118, r10125, MPFR_RNDN);
        mpfr_sub(r10127, r10126, r10085, MPFR_RNDN);
        mpfr_add(r10128, r10095, r10127, MPFR_RNDN);
        mpfr_add(r10129, r10065, r10128, MPFR_RNDN);
        mpfr_sub(r10130, r10129, r10104, MPFR_RNDN);
        mpfr_add(r10131, r10112, r10130, MPFR_RNDN);
        ;
        mpfr_set_si(r10133, mpfr_cmp(r10113, r10132) <= 0, MPFR_RNDN);
        mpfr_cbrt(r10134, r10112, MPFR_RNDN);
        mpfr_mul(r10135, r10134, r10134, MPFR_RNDN);
        mpfr_mul(r10136, r10134, r10135, MPFR_RNDN);
        mpfr_add(r10137, r10105, r10136, MPFR_RNDN);
        mpfr_add(r10138, r10076, r10095, MPFR_RNDN);
        mpfr_add(r10139, r10065, r10138, MPFR_RNDN);
        mpfr_sub(r10140, r10139, r10104, MPFR_RNDN);
        mpfr_add(r10141, r10140, r10112, MPFR_RNDN);
        if (mpfr_get_si(r10133, MPFR_RNDN)) { mpfr_set(r10142, r10137, MPFR_RNDN); } else { mpfr_set(r10142, r10141, MPFR_RNDN); };
        if (mpfr_get_si(r10115, MPFR_RNDN)) { mpfr_set(r10143, r10131, MPFR_RNDN); } else { mpfr_set(r10143, r10142, MPFR_RNDN); };
        return mpfr_get_d(r10143, MPFR_RNDN);
}

static mpfr_t r10144, r10145, r10146, r10147, r10148, r10149, r10150, r10151, r10152, r10153, r10154, r10155, r10156, r10157, r10158, r10159, r10160, r10161, r10162, r10163, r10164, r10165, r10166, r10167, r10168, r10169, r10170, r10171, r10172, r10173, r10174, r10175, r10176, r10177, r10178, r10179, r10180, r10181, r10182, r10183, r10184, r10185, r10186, r10187, r10188, r10189, r10190, r10191, r10192, r10193, r10194, r10195, r10196, r10197, r10198, r10199, r10200, r10201, r10202, r10203, r10204, r10205, r10206, r10207, r10208, r10209, r10210, r10211, r10212, r10213, r10214, r10215, r10216, r10217, r10218, r10219, r10220, r10221, r10222, r10223, r10224, r10225, r10226, r10227, r10228, r10229, r10230, r10231, r10232, r10233, r10234, r10235, r10236;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10144);
        mpfr_init(r10145);
        mpfr_init(r10146);
        mpfr_init(r10147);
        mpfr_init(r10148);
        mpfr_init(r10149);
        mpfr_init(r10150);
        mpfr_init(r10151);
        mpfr_init(r10152);
        mpfr_init(r10153);
        mpfr_init(r10154);
        mpfr_init(r10155);
        mpfr_init(r10156);
        mpfr_init(r10157);
        mpfr_init(r10158);
        mpfr_init(r10159);
        mpfr_init(r10160);
        mpfr_init(r10161);
        mpfr_init(r10162);
        mpfr_init(r10163);
        mpfr_init(r10164);
        mpfr_init(r10165);
        mpfr_init(r10166);
        mpfr_init(r10167);
        mpfr_init(r10168);
        mpfr_init(r10169);
        mpfr_init(r10170);
        mpfr_init(r10171);
        mpfr_init(r10172);
        mpfr_init(r10173);
        mpfr_init(r10174);
        mpfr_init(r10175);
        mpfr_init(r10176);
        mpfr_init(r10177);
        mpfr_init(r10178);
        mpfr_init(r10179);
        mpfr_init(r10180);
        mpfr_init(r10181);
        mpfr_init(r10182);
        mpfr_init(r10183);
        mpfr_init(r10184);
        mpfr_init(r10185);
        mpfr_init(r10186);
        mpfr_init(r10187);
        mpfr_init(r10188);
        mpfr_init(r10189);
        mpfr_init(r10190);
        mpfr_init(r10191);
        mpfr_init(r10192);
        mpfr_init(r10193);
        mpfr_init(r10194);
        mpfr_init(r10195);
        mpfr_init(r10196);
        mpfr_init(r10197);
        mpfr_init(r10198);
        mpfr_init(r10199);
        mpfr_init(r10200);
        mpfr_init(r10201);
        mpfr_init(r10202);
        mpfr_init(r10203);
        mpfr_init(r10204);
        mpfr_init(r10205);
        mpfr_init(r10206);
        mpfr_init_set_str(r10207, "-2.0523342948283227e+295", 10, MPFR_RNDN);
        mpfr_init(r10208);
        mpfr_init(r10209);
        mpfr_init(r10210);
        mpfr_init(r10211);
        mpfr_init(r10212);
        mpfr_init(r10213);
        mpfr_init(r10214);
        mpfr_init(r10215);
        mpfr_init(r10216);
        mpfr_init(r10217);
        mpfr_init(r10218);
        mpfr_init(r10219);
        mpfr_init(r10220);
        mpfr_init(r10221);
        mpfr_init(r10222);
        mpfr_init(r10223);
        mpfr_init(r10224);
        mpfr_init_set_str(r10225, "2.3218466239794902e+306", 10, MPFR_RNDN);
        mpfr_init(r10226);
        mpfr_init(r10227);
        mpfr_init(r10228);
        mpfr_init(r10229);
        mpfr_init(r10230);
        mpfr_init(r10231);
        mpfr_init(r10232);
        mpfr_init(r10233);
        mpfr_init(r10234);
        mpfr_init(r10235);
        mpfr_init(r10236);
}

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(r10144, t, MPFR_RNDN);
        mpfr_set_d(r10145, j, MPFR_RNDN);
        mpfr_mul(r10146, r10144, r10145, MPFR_RNDN);
        mpfr_set_d(r10147, k, MPFR_RNDN);
        mpfr_set_d(r10148, y, MPFR_RNDN);
        mpfr_mul(r10149, r10147, r10148, MPFR_RNDN);
        mpfr_sub(r10150, r10146, r10149, MPFR_RNDN);
        mpfr_set_d(r10151, b, MPFR_RNDN);
        mpfr_set_d(r10152, y4, MPFR_RNDN);
        mpfr_mul(r10153, r10151, r10152, MPFR_RNDN);
        mpfr_set_d(r10154, y5, MPFR_RNDN);
        mpfr_set_d(r10155, i, MPFR_RNDN);
        mpfr_mul(r10156, r10154, r10155, MPFR_RNDN);
        mpfr_sub(r10157, r10153, r10156, MPFR_RNDN);
        mpfr_mul(r10158, r10150, r10157, MPFR_RNDN);
        mpfr_set_d(r10159, a, MPFR_RNDN);
        mpfr_mul(r10160, r10159, r10151, MPFR_RNDN);
        mpfr_set_d(r10161, c, MPFR_RNDN);
        mpfr_mul(r10162, r10161, r10155, MPFR_RNDN);
        mpfr_sub(r10163, r10160, r10162, MPFR_RNDN);
        mpfr_set_d(r10164, x, MPFR_RNDN);
        mpfr_mul(r10165, r10164, r10148, MPFR_RNDN);
        mpfr_set_d(r10166, z, MPFR_RNDN);
        mpfr_mul(r10167, r10166, r10144, MPFR_RNDN);
        mpfr_sub(r10168, r10165, r10167, MPFR_RNDN);
        mpfr_mul(r10169, r10163, r10168, MPFR_RNDN);
        mpfr_set_d(r10170, y0, MPFR_RNDN);
        mpfr_mul(r10171, r10170, r10151, MPFR_RNDN);
        mpfr_set_d(r10172, y1, MPFR_RNDN);
        mpfr_mul(r10173, r10155, r10172, MPFR_RNDN);
        mpfr_sub(r10174, r10171, r10173, MPFR_RNDN);
        mpfr_mul(r10175, r10145, r10164, MPFR_RNDN);
        mpfr_mul(r10176, r10166, r10147, MPFR_RNDN);
        mpfr_sub(r10177, r10175, r10176, MPFR_RNDN);
        mpfr_mul(r10178, r10174, r10177, MPFR_RNDN);
        mpfr_sub(r10179, r10169, r10178, MPFR_RNDN);
        mpfr_set_d(r10180, y2, MPFR_RNDN);
        mpfr_mul(r10181, r10180, r10164, MPFR_RNDN);
        mpfr_set_d(r10182, y3, MPFR_RNDN);
        mpfr_mul(r10183, r10166, r10182, MPFR_RNDN);
        mpfr_sub(r10184, r10181, r10183, MPFR_RNDN);
        mpfr_mul(r10185, r10170, r10161, MPFR_RNDN);
        mpfr_mul(r10186, r10172, r10159, MPFR_RNDN);
        mpfr_sub(r10187, r10185, r10186, MPFR_RNDN);
        mpfr_mul(r10188, r10184, r10187, MPFR_RNDN);
        mpfr_add(r10189, r10179, r10188, MPFR_RNDN);
        mpfr_add(r10190, r10158, r10189, MPFR_RNDN);
        mpfr_mul(r10191, r10180, r10144, MPFR_RNDN);
        mpfr_mul(r10192, r10148, r10182, MPFR_RNDN);
        mpfr_sub(r10193, r10191, r10192, MPFR_RNDN);
        mpfr_mul(r10194, r10161, r10152, MPFR_RNDN);
        mpfr_mul(r10195, r10159, r10154, MPFR_RNDN);
        mpfr_sub(r10196, r10194, r10195, MPFR_RNDN);
        mpfr_mul(r10197, r10193, r10196, MPFR_RNDN);
        mpfr_sub(r10198, r10190, r10197, MPFR_RNDN);
        mpfr_mul(r10199, r10152, r10172, MPFR_RNDN);
        mpfr_mul(r10200, r10170, r10154, MPFR_RNDN);
        mpfr_sub(r10201, r10199, r10200, MPFR_RNDN);
        mpfr_mul(r10202, r10180, r10147, MPFR_RNDN);
        mpfr_mul(r10203, r10145, r10182, MPFR_RNDN);
        mpfr_sub(r10204, r10202, r10203, MPFR_RNDN);
        mpfr_mul(r10205, r10201, r10204, MPFR_RNDN);
        mpfr_add(r10206, r10198, r10205, MPFR_RNDN);
        ;
        mpfr_set_si(r10208, mpfr_cmp(r10206, r10207) <= 0, MPFR_RNDN);
        mpfr_mul(r10209, r10161, r10166, MPFR_RNDN);
        mpfr_mul(r10210, r10209, r10155, MPFR_RNDN);
        mpfr_mul(r10211, r10210, r10144, MPFR_RNDN);
        mpfr_mul(r10212, r10151, r10166, MPFR_RNDN);
        mpfr_mul(r10213, r10212, r10144, MPFR_RNDN);
        mpfr_mul(r10214, r10159, r10213, MPFR_RNDN);
        mpfr_mul(r10215, r10161, r10148, MPFR_RNDN);
        mpfr_mul(r10216, r10215, r10164, MPFR_RNDN);
        mpfr_mul(r10217, r10216, r10155, MPFR_RNDN);
        mpfr_add(r10218, r10214, r10217, MPFR_RNDN);
        mpfr_sub(r10219, r10211, r10218, MPFR_RNDN);
        mpfr_sub(r10220, r10219, r10178, MPFR_RNDN);
        mpfr_add(r10221, r10188, r10220, MPFR_RNDN);
        mpfr_add(r10222, r10158, r10221, MPFR_RNDN);
        mpfr_sub(r10223, r10222, r10197, MPFR_RNDN);
        mpfr_add(r10224, r10205, r10223, MPFR_RNDN);
        ;
        mpfr_set_si(r10226, mpfr_cmp(r10206, r10225) <= 0, MPFR_RNDN);
        mpfr_cbrt(r10227, r10205, MPFR_RNDN);
        mpfr_mul(r10228, r10227, r10227, MPFR_RNDN);
        mpfr_mul(r10229, r10227, r10228, MPFR_RNDN);
        mpfr_add(r10230, r10198, r10229, MPFR_RNDN);
        mpfr_add(r10231, r10169, r10188, MPFR_RNDN);
        mpfr_add(r10232, r10158, r10231, MPFR_RNDN);
        mpfr_sub(r10233, r10232, r10197, MPFR_RNDN);
        mpfr_add(r10234, r10233, r10205, MPFR_RNDN);
        if (mpfr_get_si(r10226, MPFR_RNDN)) { mpfr_set(r10235, r10230, MPFR_RNDN); } else { mpfr_set(r10235, r10234, MPFR_RNDN); };
        if (mpfr_get_si(r10208, MPFR_RNDN)) { mpfr_set(r10236, r10224, MPFR_RNDN); } else { mpfr_set(r10236, r10235, MPFR_RNDN); };
        return mpfr_get_d(r10236, MPFR_RNDN);
}

