#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 r9645 = x;
        float r9646 = y;
        float r9647 = r9645 * r9646;
        float r9648 = z;
        float r9649 = t;
        float r9650 = r9648 * r9649;
        float r9651 = r9647 - r9650;
        float r9652 = a;
        float r9653 = b;
        float r9654 = r9652 * r9653;
        float r9655 = c;
        float r9656 = i;
        float r9657 = r9655 * r9656;
        float r9658 = r9654 - r9657;
        float r9659 = r9651 * r9658;
        float r9660 = j;
        float r9661 = r9645 * r9660;
        float r9662 = k;
        float r9663 = r9648 * r9662;
        float r9664 = r9661 - r9663;
        float r9665 = y0;
        float r9666 = r9665 * r9653;
        float r9667 = y1;
        float r9668 = r9667 * r9656;
        float r9669 = r9666 - r9668;
        float r9670 = r9664 * r9669;
        float r9671 = r9659 - r9670;
        float r9672 = y2;
        float r9673 = r9645 * r9672;
        float r9674 = y3;
        float r9675 = r9648 * r9674;
        float r9676 = r9673 - r9675;
        float r9677 = r9665 * r9655;
        float r9678 = r9667 * r9652;
        float r9679 = r9677 - r9678;
        float r9680 = r9676 * r9679;
        float r9681 = r9671 + r9680;
        float r9682 = r9649 * r9660;
        float r9683 = r9646 * r9662;
        float r9684 = r9682 - r9683;
        float r9685 = y4;
        float r9686 = r9685 * r9653;
        float r9687 = y5;
        float r9688 = r9687 * r9656;
        float r9689 = r9686 - r9688;
        float r9690 = r9684 * r9689;
        float r9691 = r9681 + r9690;
        float r9692 = r9649 * r9672;
        float r9693 = r9646 * r9674;
        float r9694 = r9692 - r9693;
        float r9695 = r9685 * r9655;
        float r9696 = r9687 * r9652;
        float r9697 = r9695 - r9696;
        float r9698 = r9694 * r9697;
        float r9699 = r9691 - r9698;
        float r9700 = r9662 * r9672;
        float r9701 = r9660 * r9674;
        float r9702 = r9700 - r9701;
        float r9703 = r9685 * r9667;
        float r9704 = r9687 * r9665;
        float r9705 = r9703 - r9704;
        float r9706 = r9702 * r9705;
        float r9707 = r9699 + r9706;
        return r9707;
}

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 r9708 = x;
        double r9709 = y;
        double r9710 = r9708 * r9709;
        double r9711 = z;
        double r9712 = t;
        double r9713 = r9711 * r9712;
        double r9714 = r9710 - r9713;
        double r9715 = a;
        double r9716 = b;
        double r9717 = r9715 * r9716;
        double r9718 = c;
        double r9719 = i;
        double r9720 = r9718 * r9719;
        double r9721 = r9717 - r9720;
        double r9722 = r9714 * r9721;
        double r9723 = j;
        double r9724 = r9708 * r9723;
        double r9725 = k;
        double r9726 = r9711 * r9725;
        double r9727 = r9724 - r9726;
        double r9728 = y0;
        double r9729 = r9728 * r9716;
        double r9730 = y1;
        double r9731 = r9730 * r9719;
        double r9732 = r9729 - r9731;
        double r9733 = r9727 * r9732;
        double r9734 = r9722 - r9733;
        double r9735 = y2;
        double r9736 = r9708 * r9735;
        double r9737 = y3;
        double r9738 = r9711 * r9737;
        double r9739 = r9736 - r9738;
        double r9740 = r9728 * r9718;
        double r9741 = r9730 * r9715;
        double r9742 = r9740 - r9741;
        double r9743 = r9739 * r9742;
        double r9744 = r9734 + r9743;
        double r9745 = r9712 * r9723;
        double r9746 = r9709 * r9725;
        double r9747 = r9745 - r9746;
        double r9748 = y4;
        double r9749 = r9748 * r9716;
        double r9750 = y5;
        double r9751 = r9750 * r9719;
        double r9752 = r9749 - r9751;
        double r9753 = r9747 * r9752;
        double r9754 = r9744 + r9753;
        double r9755 = r9712 * r9735;
        double r9756 = r9709 * r9737;
        double r9757 = r9755 - r9756;
        double r9758 = r9748 * r9718;
        double r9759 = r9750 * r9715;
        double r9760 = r9758 - r9759;
        double r9761 = r9757 * r9760;
        double r9762 = r9754 - r9761;
        double r9763 = r9725 * r9735;
        double r9764 = r9723 * r9737;
        double r9765 = r9763 - r9764;
        double r9766 = r9748 * r9730;
        double r9767 = r9750 * r9728;
        double r9768 = r9766 - r9767;
        double r9769 = r9765 * r9768;
        double r9770 = r9762 + r9769;
        return r9770;
}


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 r9771 = t;
        float r9772 = j;
        float r9773 = r9771 * r9772;
        float r9774 = k;
        float r9775 = y;
        float r9776 = r9774 * r9775;
        float r9777 = r9773 - r9776;
        float r9778 = b;
        float r9779 = y4;
        float r9780 = r9778 * r9779;
        float r9781 = y5;
        float r9782 = i;
        float r9783 = r9781 * r9782;
        float r9784 = r9780 - r9783;
        float r9785 = r9777 * r9784;
        float r9786 = a;
        float r9787 = r9786 * r9778;
        float r9788 = c;
        float r9789 = r9788 * r9782;
        float r9790 = r9787 - r9789;
        float r9791 = x;
        float r9792 = r9791 * r9775;
        float r9793 = z;
        float r9794 = r9793 * r9771;
        float r9795 = r9792 - r9794;
        float r9796 = r9790 * r9795;
        float r9797 = y0;
        float r9798 = r9797 * r9778;
        float r9799 = y1;
        float r9800 = r9782 * r9799;
        float r9801 = r9798 - r9800;
        float r9802 = r9772 * r9791;
        float r9803 = r9793 * r9774;
        float r9804 = r9802 - r9803;
        float r9805 = r9801 * r9804;
        float r9806 = r9796 - r9805;
        float r9807 = y2;
        float r9808 = r9807 * r9791;
        float r9809 = y3;
        float r9810 = r9793 * r9809;
        float r9811 = r9808 - r9810;
        float r9812 = r9797 * r9788;
        float r9813 = r9799 * r9786;
        float r9814 = r9812 - r9813;
        float r9815 = r9811 * r9814;
        float r9816 = r9806 + r9815;
        float r9817 = r9785 + r9816;
        float r9818 = r9807 * r9771;
        float r9819 = r9775 * r9809;
        float r9820 = r9818 - r9819;
        float r9821 = r9788 * r9779;
        float r9822 = r9786 * r9781;
        float r9823 = r9821 - r9822;
        float r9824 = r9820 * r9823;
        float r9825 = r9817 - r9824;
        float r9826 = r9779 * r9799;
        float r9827 = r9797 * r9781;
        float r9828 = r9826 - r9827;
        float r9829 = r9807 * r9774;
        float r9830 = r9772 * r9809;
        float r9831 = r9829 - r9830;
        float r9832 = r9828 * r9831;
        float r9833 = r9825 + r9832;
        float r9834 = 4.606695857770656e+305f;
        bool r9835 = r9833 <= r9834;
        float r9836 = cbrt(r9832);
        float r9837 = r9836 * r9836;
        float r9838 = r9837 * r9836;
        float r9839 = r9825 + r9838;
        float r9840 = r9796 + r9815;
        float r9841 = r9840 + r9785;
        float r9842 = r9841 - r9824;
        float r9843 = r9832 + r9842;
        float r9844 = r9835 ? r9839 : r9843;
        return r9844;
}

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 r9845 = t;
        double r9846 = j;
        double r9847 = r9845 * r9846;
        double r9848 = k;
        double r9849 = y;
        double r9850 = r9848 * r9849;
        double r9851 = r9847 - r9850;
        double r9852 = b;
        double r9853 = y4;
        double r9854 = r9852 * r9853;
        double r9855 = y5;
        double r9856 = i;
        double r9857 = r9855 * r9856;
        double r9858 = r9854 - r9857;
        double r9859 = r9851 * r9858;
        double r9860 = a;
        double r9861 = r9860 * r9852;
        double r9862 = c;
        double r9863 = r9862 * r9856;
        double r9864 = r9861 - r9863;
        double r9865 = x;
        double r9866 = r9865 * r9849;
        double r9867 = z;
        double r9868 = r9867 * r9845;
        double r9869 = r9866 - r9868;
        double r9870 = r9864 * r9869;
        double r9871 = y0;
        double r9872 = r9871 * r9852;
        double r9873 = y1;
        double r9874 = r9856 * r9873;
        double r9875 = r9872 - r9874;
        double r9876 = r9846 * r9865;
        double r9877 = r9867 * r9848;
        double r9878 = r9876 - r9877;
        double r9879 = r9875 * r9878;
        double r9880 = r9870 - r9879;
        double r9881 = y2;
        double r9882 = r9881 * r9865;
        double r9883 = y3;
        double r9884 = r9867 * r9883;
        double r9885 = r9882 - r9884;
        double r9886 = r9871 * r9862;
        double r9887 = r9873 * r9860;
        double r9888 = r9886 - r9887;
        double r9889 = r9885 * r9888;
        double r9890 = r9880 + r9889;
        double r9891 = r9859 + r9890;
        double r9892 = r9881 * r9845;
        double r9893 = r9849 * r9883;
        double r9894 = r9892 - r9893;
        double r9895 = r9862 * r9853;
        double r9896 = r9860 * r9855;
        double r9897 = r9895 - r9896;
        double r9898 = r9894 * r9897;
        double r9899 = r9891 - r9898;
        double r9900 = r9853 * r9873;
        double r9901 = r9871 * r9855;
        double r9902 = r9900 - r9901;
        double r9903 = r9881 * r9848;
        double r9904 = r9846 * r9883;
        double r9905 = r9903 - r9904;
        double r9906 = r9902 * r9905;
        double r9907 = r9899 + r9906;
        double r9908 = 4.606695857770656e+305;
        bool r9909 = r9907 <= r9908;
        double r9910 = cbrt(r9906);
        double r9911 = r9910 * r9910;
        double r9912 = r9911 * r9910;
        double r9913 = r9899 + r9912;
        double r9914 = r9870 + r9889;
        double r9915 = r9914 + r9859;
        double r9916 = r9915 - r9898;
        double r9917 = r9906 + r9916;
        double r9918 = r9909 ? r9913 : r9917;
        return r9918;
}

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 r9919, r9920, r9921, r9922, r9923, r9924, r9925, r9926, r9927, r9928, r9929, r9930, r9931, r9932, r9933, r9934, r9935, r9936, r9937, r9938, r9939, r9940, r9941, r9942, r9943, r9944, r9945, r9946, r9947, r9948, r9949, r9950, r9951, r9952, r9953, r9954, r9955, r9956, r9957, r9958, r9959, r9960, r9961, r9962, r9963, r9964, r9965, r9966, r9967, r9968, r9969, r9970, r9971, r9972, r9973, r9974, r9975, r9976, r9977, r9978, r9979, r9980, r9981;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9919);
        mpfr_init(r9920);
        mpfr_init(r9921);
        mpfr_init(r9922);
        mpfr_init(r9923);
        mpfr_init(r9924);
        mpfr_init(r9925);
        mpfr_init(r9926);
        mpfr_init(r9927);
        mpfr_init(r9928);
        mpfr_init(r9929);
        mpfr_init(r9930);
        mpfr_init(r9931);
        mpfr_init(r9932);
        mpfr_init(r9933);
        mpfr_init(r9934);
        mpfr_init(r9935);
        mpfr_init(r9936);
        mpfr_init(r9937);
        mpfr_init(r9938);
        mpfr_init(r9939);
        mpfr_init(r9940);
        mpfr_init(r9941);
        mpfr_init(r9942);
        mpfr_init(r9943);
        mpfr_init(r9944);
        mpfr_init(r9945);
        mpfr_init(r9946);
        mpfr_init(r9947);
        mpfr_init(r9948);
        mpfr_init(r9949);
        mpfr_init(r9950);
        mpfr_init(r9951);
        mpfr_init(r9952);
        mpfr_init(r9953);
        mpfr_init(r9954);
        mpfr_init(r9955);
        mpfr_init(r9956);
        mpfr_init(r9957);
        mpfr_init(r9958);
        mpfr_init(r9959);
        mpfr_init(r9960);
        mpfr_init(r9961);
        mpfr_init(r9962);
        mpfr_init(r9963);
        mpfr_init(r9964);
        mpfr_init(r9965);
        mpfr_init(r9966);
        mpfr_init(r9967);
        mpfr_init(r9968);
        mpfr_init(r9969);
        mpfr_init(r9970);
        mpfr_init(r9971);
        mpfr_init(r9972);
        mpfr_init(r9973);
        mpfr_init(r9974);
        mpfr_init(r9975);
        mpfr_init(r9976);
        mpfr_init(r9977);
        mpfr_init(r9978);
        mpfr_init(r9979);
        mpfr_init(r9980);
        mpfr_init(r9981);
}

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(r9919, x, MPFR_RNDN);
        mpfr_set_d(r9920, y, MPFR_RNDN);
        mpfr_mul(r9921, r9919, r9920, MPFR_RNDN);
        mpfr_set_d(r9922, z, MPFR_RNDN);
        mpfr_set_d(r9923, t, MPFR_RNDN);
        mpfr_mul(r9924, r9922, r9923, MPFR_RNDN);
        mpfr_sub(r9925, r9921, r9924, MPFR_RNDN);
        mpfr_set_d(r9926, a, MPFR_RNDN);
        mpfr_set_d(r9927, b, MPFR_RNDN);
        mpfr_mul(r9928, r9926, r9927, MPFR_RNDN);
        mpfr_set_d(r9929, c, MPFR_RNDN);
        mpfr_set_d(r9930, i, MPFR_RNDN);
        mpfr_mul(r9931, r9929, r9930, MPFR_RNDN);
        mpfr_sub(r9932, r9928, r9931, MPFR_RNDN);
        mpfr_mul(r9933, r9925, r9932, MPFR_RNDN);
        mpfr_set_d(r9934, j, MPFR_RNDN);
        mpfr_mul(r9935, r9919, r9934, MPFR_RNDN);
        mpfr_set_d(r9936, k, MPFR_RNDN);
        mpfr_mul(r9937, r9922, r9936, MPFR_RNDN);
        mpfr_sub(r9938, r9935, r9937, MPFR_RNDN);
        mpfr_set_d(r9939, y0, MPFR_RNDN);
        mpfr_mul(r9940, r9939, r9927, MPFR_RNDN);
        mpfr_set_d(r9941, y1, MPFR_RNDN);
        mpfr_mul(r9942, r9941, r9930, MPFR_RNDN);
        mpfr_sub(r9943, r9940, r9942, MPFR_RNDN);
        mpfr_mul(r9944, r9938, r9943, MPFR_RNDN);
        mpfr_sub(r9945, r9933, r9944, MPFR_RNDN);
        mpfr_set_d(r9946, y2, MPFR_RNDN);
        mpfr_mul(r9947, r9919, r9946, MPFR_RNDN);
        mpfr_set_d(r9948, y3, MPFR_RNDN);
        mpfr_mul(r9949, r9922, r9948, MPFR_RNDN);
        mpfr_sub(r9950, r9947, r9949, MPFR_RNDN);
        mpfr_mul(r9951, r9939, r9929, MPFR_RNDN);
        mpfr_mul(r9952, r9941, r9926, MPFR_RNDN);
        mpfr_sub(r9953, r9951, r9952, MPFR_RNDN);
        mpfr_mul(r9954, r9950, r9953, MPFR_RNDN);
        mpfr_add(r9955, r9945, r9954, MPFR_RNDN);
        mpfr_mul(r9956, r9923, r9934, MPFR_RNDN);
        mpfr_mul(r9957, r9920, r9936, MPFR_RNDN);
        mpfr_sub(r9958, r9956, r9957, MPFR_RNDN);
        mpfr_set_d(r9959, y4, MPFR_RNDN);
        mpfr_mul(r9960, r9959, r9927, MPFR_RNDN);
        mpfr_set_d(r9961, y5, MPFR_RNDN);
        mpfr_mul(r9962, r9961, r9930, MPFR_RNDN);
        mpfr_sub(r9963, r9960, r9962, MPFR_RNDN);
        mpfr_mul(r9964, r9958, r9963, MPFR_RNDN);
        mpfr_add(r9965, r9955, r9964, MPFR_RNDN);
        mpfr_mul(r9966, r9923, r9946, MPFR_RNDN);
        mpfr_mul(r9967, r9920, r9948, MPFR_RNDN);
        mpfr_sub(r9968, r9966, r9967, MPFR_RNDN);
        mpfr_mul(r9969, r9959, r9929, MPFR_RNDN);
        mpfr_mul(r9970, r9961, r9926, MPFR_RNDN);
        mpfr_sub(r9971, r9969, r9970, MPFR_RNDN);
        mpfr_mul(r9972, r9968, r9971, MPFR_RNDN);
        mpfr_sub(r9973, r9965, r9972, MPFR_RNDN);
        mpfr_mul(r9974, r9936, r9946, MPFR_RNDN);
        mpfr_mul(r9975, r9934, r9948, MPFR_RNDN);
        mpfr_sub(r9976, r9974, r9975, MPFR_RNDN);
        mpfr_mul(r9977, r9959, r9941, MPFR_RNDN);
        mpfr_mul(r9978, r9961, r9939, MPFR_RNDN);
        mpfr_sub(r9979, r9977, r9978, MPFR_RNDN);
        mpfr_mul(r9980, r9976, r9979, MPFR_RNDN);
        mpfr_add(r9981, r9973, r9980, MPFR_RNDN);
        return mpfr_get_d(r9981, MPFR_RNDN);
}

static mpfr_t r9982, r9983, r9984, r9985, r9986, r9987, 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, r10051, r10052, r10053, r10054, r10055;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9982);
        mpfr_init(r9983);
        mpfr_init(r9984);
        mpfr_init(r9985);
        mpfr_init(r9986);
        mpfr_init(r9987);
        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_set_str(r10045, "4.606695857770656e+305", 10, MPFR_RNDN);
        mpfr_init(r10046);
        mpfr_init(r10047);
        mpfr_init(r10048);
        mpfr_init(r10049);
        mpfr_init(r10050);
        mpfr_init(r10051);
        mpfr_init(r10052);
        mpfr_init(r10053);
        mpfr_init(r10054);
        mpfr_init(r10055);
}

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

static mpfr_t 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        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(r10114);
        mpfr_init(r10115);
        mpfr_init(r10116);
        mpfr_init(r10117);
        mpfr_init(r10118);
        mpfr_init_set_str(r10119, "4.606695857770656e+305", 10, MPFR_RNDN);
        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);
}

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

