#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 r22751 = x;
        float r22752 = y;
        float r22753 = r22751 * r22752;
        float r22754 = z;
        float r22755 = t;
        float r22756 = r22754 * r22755;
        float r22757 = r22753 - r22756;
        float r22758 = a;
        float r22759 = b;
        float r22760 = r22758 * r22759;
        float r22761 = c;
        float r22762 = i;
        float r22763 = r22761 * r22762;
        float r22764 = r22760 - r22763;
        float r22765 = r22757 * r22764;
        float r22766 = j;
        float r22767 = r22751 * r22766;
        float r22768 = k;
        float r22769 = r22754 * r22768;
        float r22770 = r22767 - r22769;
        float r22771 = y0;
        float r22772 = r22771 * r22759;
        float r22773 = y1;
        float r22774 = r22773 * r22762;
        float r22775 = r22772 - r22774;
        float r22776 = r22770 * r22775;
        float r22777 = r22765 - r22776;
        float r22778 = y2;
        float r22779 = r22751 * r22778;
        float r22780 = y3;
        float r22781 = r22754 * r22780;
        float r22782 = r22779 - r22781;
        float r22783 = r22771 * r22761;
        float r22784 = r22773 * r22758;
        float r22785 = r22783 - r22784;
        float r22786 = r22782 * r22785;
        float r22787 = r22777 + r22786;
        float r22788 = r22755 * r22766;
        float r22789 = r22752 * r22768;
        float r22790 = r22788 - r22789;
        float r22791 = y4;
        float r22792 = r22791 * r22759;
        float r22793 = y5;
        float r22794 = r22793 * r22762;
        float r22795 = r22792 - r22794;
        float r22796 = r22790 * r22795;
        float r22797 = r22787 + r22796;
        float r22798 = r22755 * r22778;
        float r22799 = r22752 * r22780;
        float r22800 = r22798 - r22799;
        float r22801 = r22791 * r22761;
        float r22802 = r22793 * r22758;
        float r22803 = r22801 - r22802;
        float r22804 = r22800 * r22803;
        float r22805 = r22797 - r22804;
        float r22806 = r22768 * r22778;
        float r22807 = r22766 * r22780;
        float r22808 = r22806 - r22807;
        float r22809 = r22791 * r22773;
        float r22810 = r22793 * r22771;
        float r22811 = r22809 - r22810;
        float r22812 = r22808 * r22811;
        float r22813 = r22805 + r22812;
        return r22813;
}

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 r22814 = x;
        double r22815 = y;
        double r22816 = r22814 * r22815;
        double r22817 = z;
        double r22818 = t;
        double r22819 = r22817 * r22818;
        double r22820 = r22816 - r22819;
        double r22821 = a;
        double r22822 = b;
        double r22823 = r22821 * r22822;
        double r22824 = c;
        double r22825 = i;
        double r22826 = r22824 * r22825;
        double r22827 = r22823 - r22826;
        double r22828 = r22820 * r22827;
        double r22829 = j;
        double r22830 = r22814 * r22829;
        double r22831 = k;
        double r22832 = r22817 * r22831;
        double r22833 = r22830 - r22832;
        double r22834 = y0;
        double r22835 = r22834 * r22822;
        double r22836 = y1;
        double r22837 = r22836 * r22825;
        double r22838 = r22835 - r22837;
        double r22839 = r22833 * r22838;
        double r22840 = r22828 - r22839;
        double r22841 = y2;
        double r22842 = r22814 * r22841;
        double r22843 = y3;
        double r22844 = r22817 * r22843;
        double r22845 = r22842 - r22844;
        double r22846 = r22834 * r22824;
        double r22847 = r22836 * r22821;
        double r22848 = r22846 - r22847;
        double r22849 = r22845 * r22848;
        double r22850 = r22840 + r22849;
        double r22851 = r22818 * r22829;
        double r22852 = r22815 * r22831;
        double r22853 = r22851 - r22852;
        double r22854 = y4;
        double r22855 = r22854 * r22822;
        double r22856 = y5;
        double r22857 = r22856 * r22825;
        double r22858 = r22855 - r22857;
        double r22859 = r22853 * r22858;
        double r22860 = r22850 + r22859;
        double r22861 = r22818 * r22841;
        double r22862 = r22815 * r22843;
        double r22863 = r22861 - r22862;
        double r22864 = r22854 * r22824;
        double r22865 = r22856 * r22821;
        double r22866 = r22864 - r22865;
        double r22867 = r22863 * r22866;
        double r22868 = r22860 - r22867;
        double r22869 = r22831 * r22841;
        double r22870 = r22829 * r22843;
        double r22871 = r22869 - r22870;
        double r22872 = r22854 * r22836;
        double r22873 = r22856 * r22834;
        double r22874 = r22872 - r22873;
        double r22875 = r22871 * r22874;
        double r22876 = r22868 + r22875;
        return r22876;
}


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 r22877 = b;
        float r22878 = -5.646789738040427e-32;
        bool r22879 = r22877 <= r22878;
        float r22880 = j;
        float r22881 = t;
        float r22882 = r22880 * r22881;
        float r22883 = k;
        float r22884 = y;
        float r22885 = r22883 * r22884;
        float r22886 = r22882 - r22885;
        float r22887 = y4;
        float r22888 = r22887 * r22877;
        float r22889 = y5;
        float r22890 = i;
        float r22891 = r22889 * r22890;
        float r22892 = r22888 - r22891;
        float r22893 = r22886 * r22892;
        float r22894 = y2;
        float r22895 = r22881 * r22894;
        float r22896 = y3;
        float r22897 = r22896 * r22884;
        float r22898 = r22895 - r22897;
        float r22899 = c;
        float r22900 = r22887 * r22899;
        float r22901 = a;
        float r22902 = r22889 * r22901;
        float r22903 = r22900 - r22902;
        float r22904 = r22898 * r22903;
        float r22905 = r22893 - r22904;
        float r22906 = y1;
        float r22907 = r22906 * r22887;
        float r22908 = y0;
        float r22909 = r22889 * r22908;
        float r22910 = r22907 - r22909;
        float r22911 = r22883 * r22894;
        float r22912 = r22880 * r22896;
        float r22913 = r22911 - r22912;
        float r22914 = r22910 * r22913;
        float r22915 = r22877 * r22901;
        float r22916 = r22890 * r22899;
        float r22917 = r22915 - r22916;
        float r22918 = x;
        float r22919 = r22884 * r22918;
        float r22920 = z;
        float r22921 = r22920 * r22881;
        float r22922 = r22919 - r22921;
        float r22923 = r22917 * r22922;
        float r22924 = r22880 * r22918;
        float r22925 = r22920 * r22883;
        float r22926 = r22924 - r22925;
        float r22927 = r22877 * r22908;
        float r22928 = r22890 * r22906;
        float r22929 = r22927 - r22928;
        float r22930 = r22926 * r22929;
        float r22931 = r22923 - r22930;
        float r22932 = r22914 + r22931;
        float r22933 = r22905 + r22932;
        float r22934 = -3.663035026822725e-154;
        bool r22935 = r22877 <= r22934;
        float r22936 = r22923 + r22893;
        float r22937 = r22899 * r22887;
        float r22938 = r22901 * r22889;
        float r22939 = r22937 - r22938;
        float r22940 = r22898 * r22939;
        float r22941 = r22936 - r22940;
        float r22942 = r22908 * r22889;
        float r22943 = r22907 - r22942;
        float r22944 = r22896 * r22880;
        float r22945 = r22911 - r22944;
        float r22946 = r22943 * r22945;
        float r22947 = r22908 * r22899;
        float r22948 = r22906 * r22901;
        float r22949 = r22947 - r22948;
        float r22950 = r22894 * r22918;
        float r22951 = r22896 * r22920;
        float r22952 = r22950 - r22951;
        float r22953 = r22949 * r22952;
        float r22954 = r22946 + r22953;
        float r22955 = r22941 + r22954;
        float r22956 = -5.047921999541564e-246;
        bool r22957 = r22877 <= r22956;
        float r22958 = r22887 * r22906;
        float r22959 = r22958 - r22909;
        float r22960 = r22959 * r22945;
        float r22961 = r22930 - r22960;
        float r22962 = r22923 - r22961;
        float r22963 = r22896 * r22899;
        float r22964 = r22887 * r22884;
        float r22965 = r22963 * r22964;
        float r22966 = r22920 * r22896;
        float r22967 = r22950 - r22966;
        float r22968 = r22967 * r22949;
        float r22969 = r22965 + r22968;
        float r22970 = r22884 * r22896;
        float r22971 = r22894 * r22881;
        float r22972 = r22970 - r22971;
        float r22973 = r22902 * r22972;
        float r22974 = r22893 - r22973;
        float r22975 = r22969 + r22974;
        float r22976 = r22962 + r22975;
        float r22977 = 2.2188558086122525e-238;
        bool r22978 = r22877 <= r22977;
        float r22979 = r22894 * r22883;
        float r22980 = r22979 - r22944;
        float r22981 = r22958 - r22942;
        float r22982 = r22980 * r22981;
        float r22983 = r22890 * r22889;
        float r22984 = r22888 - r22983;
        float r22985 = r22881 * r22880;
        float r22986 = r22985 - r22885;
        float r22987 = r22984 * r22986;
        float r22988 = r22982 + r22987;
        float r22989 = r22899 * r22908;
        float r22990 = r22989 - r22948;
        float r22991 = r22990 * r22952;
        float r22992 = r22890 * r22918;
        float r22993 = r22880 * r22906;
        float r22994 = r22992 * r22993;
        float r22995 = r22883 * r22920;
        float r22996 = r22995 * r22927;
        float r22997 = r22994 + r22996;
        float r22998 = r22991 + r22997;
        float r22999 = r22890 * r22883;
        float r23000 = r22920 * r22906;
        float r23001 = r22999 * r23000;
        float r23002 = r22971 - r22897;
        float r23003 = r23002 * r22903;
        float r23004 = r23001 + r23003;
        float r23005 = r22998 - r23004;
        float r23006 = r22988 + r23005;
        float r23007 = 4.6422657891732295e-231;
        bool r23008 = r22877 <= r23007;
        float r23009 = r22971 - r22970;
        float r23010 = r22903 * r23009;
        float r23011 = r22968 - r23010;
        float r23012 = r22930 - r23011;
        float r23013 = r22936 - r23012;
        float r23014 = r22918 * r22884;
        float r23015 = r23014 - r22921;
        float r23016 = r22901 * r22877;
        float r23017 = r22899 * r22890;
        float r23018 = r23016 - r23017;
        float r23019 = r23015 * r23018;
        float r23020 = r22918 * r22880;
        float r23021 = r23020 - r22925;
        float r23022 = r22908 * r22877;
        float r23023 = r22906 * r22890;
        float r23024 = r23022 - r23023;
        float r23025 = r23021 * r23024;
        float r23026 = r23019 - r23025;
        float r23027 = r22918 * r22894;
        float r23028 = r23027 - r22966;
        float r23029 = r23028 * r22949;
        float r23030 = r23026 + r23029;
        float r23031 = r22884 * r22883;
        float r23032 = r22985 - r23031;
        float r23033 = r23032 * r22892;
        float r23034 = r23030 + r23033;
        float r23035 = r22895 - r22970;
        float r23036 = r23035 * r22903;
        float r23037 = r23034 - r23036;
        float r23038 = r22913 * r22959;
        float r23039 = cbrt(r23038);
        float r23040 = r23039 * r23039;
        float r23041 = r23040 * r23039;
        float r23042 = r23037 + r23041;
        float r23043 = r23008 ? r23013 : r23042;
        float r23044 = r22978 ? r23006 : r23043;
        float r23045 = r22957 ? r22976 : r23044;
        float r23046 = r22935 ? r22955 : r23045;
        float r23047 = r22879 ? r22933 : r23046;
        return r23047;
}

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 r23048 = b;
        double r23049 = -5.646789738040427e-32;
        bool r23050 = r23048 <= r23049;
        double r23051 = j;
        double r23052 = t;
        double r23053 = r23051 * r23052;
        double r23054 = k;
        double r23055 = y;
        double r23056 = r23054 * r23055;
        double r23057 = r23053 - r23056;
        double r23058 = y4;
        double r23059 = r23058 * r23048;
        double r23060 = y5;
        double r23061 = i;
        double r23062 = r23060 * r23061;
        double r23063 = r23059 - r23062;
        double r23064 = r23057 * r23063;
        double r23065 = y2;
        double r23066 = r23052 * r23065;
        double r23067 = y3;
        double r23068 = r23067 * r23055;
        double r23069 = r23066 - r23068;
        double r23070 = c;
        double r23071 = r23058 * r23070;
        double r23072 = a;
        double r23073 = r23060 * r23072;
        double r23074 = r23071 - r23073;
        double r23075 = r23069 * r23074;
        double r23076 = r23064 - r23075;
        double r23077 = y1;
        double r23078 = r23077 * r23058;
        double r23079 = y0;
        double r23080 = r23060 * r23079;
        double r23081 = r23078 - r23080;
        double r23082 = r23054 * r23065;
        double r23083 = r23051 * r23067;
        double r23084 = r23082 - r23083;
        double r23085 = r23081 * r23084;
        double r23086 = r23048 * r23072;
        double r23087 = r23061 * r23070;
        double r23088 = r23086 - r23087;
        double r23089 = x;
        double r23090 = r23055 * r23089;
        double r23091 = z;
        double r23092 = r23091 * r23052;
        double r23093 = r23090 - r23092;
        double r23094 = r23088 * r23093;
        double r23095 = r23051 * r23089;
        double r23096 = r23091 * r23054;
        double r23097 = r23095 - r23096;
        double r23098 = r23048 * r23079;
        double r23099 = r23061 * r23077;
        double r23100 = r23098 - r23099;
        double r23101 = r23097 * r23100;
        double r23102 = r23094 - r23101;
        double r23103 = r23085 + r23102;
        double r23104 = r23076 + r23103;
        double r23105 = -3.663035026822725e-154;
        bool r23106 = r23048 <= r23105;
        double r23107 = r23094 + r23064;
        double r23108 = r23070 * r23058;
        double r23109 = r23072 * r23060;
        double r23110 = r23108 - r23109;
        double r23111 = r23069 * r23110;
        double r23112 = r23107 - r23111;
        double r23113 = r23079 * r23060;
        double r23114 = r23078 - r23113;
        double r23115 = r23067 * r23051;
        double r23116 = r23082 - r23115;
        double r23117 = r23114 * r23116;
        double r23118 = r23079 * r23070;
        double r23119 = r23077 * r23072;
        double r23120 = r23118 - r23119;
        double r23121 = r23065 * r23089;
        double r23122 = r23067 * r23091;
        double r23123 = r23121 - r23122;
        double r23124 = r23120 * r23123;
        double r23125 = r23117 + r23124;
        double r23126 = r23112 + r23125;
        double r23127 = -5.047921999541564e-246;
        bool r23128 = r23048 <= r23127;
        double r23129 = r23058 * r23077;
        double r23130 = r23129 - r23080;
        double r23131 = r23130 * r23116;
        double r23132 = r23101 - r23131;
        double r23133 = r23094 - r23132;
        double r23134 = r23067 * r23070;
        double r23135 = r23058 * r23055;
        double r23136 = r23134 * r23135;
        double r23137 = r23091 * r23067;
        double r23138 = r23121 - r23137;
        double r23139 = r23138 * r23120;
        double r23140 = r23136 + r23139;
        double r23141 = r23055 * r23067;
        double r23142 = r23065 * r23052;
        double r23143 = r23141 - r23142;
        double r23144 = r23073 * r23143;
        double r23145 = r23064 - r23144;
        double r23146 = r23140 + r23145;
        double r23147 = r23133 + r23146;
        double r23148 = 2.2188558086122525e-238;
        bool r23149 = r23048 <= r23148;
        double r23150 = r23065 * r23054;
        double r23151 = r23150 - r23115;
        double r23152 = r23129 - r23113;
        double r23153 = r23151 * r23152;
        double r23154 = r23061 * r23060;
        double r23155 = r23059 - r23154;
        double r23156 = r23052 * r23051;
        double r23157 = r23156 - r23056;
        double r23158 = r23155 * r23157;
        double r23159 = r23153 + r23158;
        double r23160 = r23070 * r23079;
        double r23161 = r23160 - r23119;
        double r23162 = r23161 * r23123;
        double r23163 = r23061 * r23089;
        double r23164 = r23051 * r23077;
        double r23165 = r23163 * r23164;
        double r23166 = r23054 * r23091;
        double r23167 = r23166 * r23098;
        double r23168 = r23165 + r23167;
        double r23169 = r23162 + r23168;
        double r23170 = r23061 * r23054;
        double r23171 = r23091 * r23077;
        double r23172 = r23170 * r23171;
        double r23173 = r23142 - r23068;
        double r23174 = r23173 * r23074;
        double r23175 = r23172 + r23174;
        double r23176 = r23169 - r23175;
        double r23177 = r23159 + r23176;
        double r23178 = 4.6422657891732295e-231;
        bool r23179 = r23048 <= r23178;
        double r23180 = r23142 - r23141;
        double r23181 = r23074 * r23180;
        double r23182 = r23139 - r23181;
        double r23183 = r23101 - r23182;
        double r23184 = r23107 - r23183;
        double r23185 = r23089 * r23055;
        double r23186 = r23185 - r23092;
        double r23187 = r23072 * r23048;
        double r23188 = r23070 * r23061;
        double r23189 = r23187 - r23188;
        double r23190 = r23186 * r23189;
        double r23191 = r23089 * r23051;
        double r23192 = r23191 - r23096;
        double r23193 = r23079 * r23048;
        double r23194 = r23077 * r23061;
        double r23195 = r23193 - r23194;
        double r23196 = r23192 * r23195;
        double r23197 = r23190 - r23196;
        double r23198 = r23089 * r23065;
        double r23199 = r23198 - r23137;
        double r23200 = r23199 * r23120;
        double r23201 = r23197 + r23200;
        double r23202 = r23055 * r23054;
        double r23203 = r23156 - r23202;
        double r23204 = r23203 * r23063;
        double r23205 = r23201 + r23204;
        double r23206 = r23066 - r23141;
        double r23207 = r23206 * r23074;
        double r23208 = r23205 - r23207;
        double r23209 = r23084 * r23130;
        double r23210 = cbrt(r23209);
        double r23211 = r23210 * r23210;
        double r23212 = r23211 * r23210;
        double r23213 = r23208 + r23212;
        double r23214 = r23179 ? r23184 : r23213;
        double r23215 = r23149 ? r23177 : r23214;
        double r23216 = r23128 ? r23147 : r23215;
        double r23217 = r23106 ? r23126 : r23216;
        double r23218 = r23050 ? r23104 : r23217;
        return r23218;
}

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 r23219, r23220, r23221, r23222, r23223, r23224, r23225, r23226, r23227, r23228, r23229, r23230, r23231, r23232, r23233, r23234, r23235, r23236, r23237, r23238, r23239, r23240, r23241, r23242, r23243, r23244, r23245, r23246, r23247, r23248, r23249, r23250, r23251, r23252, r23253, r23254, r23255, r23256, r23257, r23258, r23259, r23260, r23261, r23262, r23263, r23264, r23265, r23266, r23267, r23268, r23269, r23270, r23271, r23272, r23273, r23274, r23275, r23276, r23277, r23278, r23279, r23280, r23281;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r23219);
        mpfr_init(r23220);
        mpfr_init(r23221);
        mpfr_init(r23222);
        mpfr_init(r23223);
        mpfr_init(r23224);
        mpfr_init(r23225);
        mpfr_init(r23226);
        mpfr_init(r23227);
        mpfr_init(r23228);
        mpfr_init(r23229);
        mpfr_init(r23230);
        mpfr_init(r23231);
        mpfr_init(r23232);
        mpfr_init(r23233);
        mpfr_init(r23234);
        mpfr_init(r23235);
        mpfr_init(r23236);
        mpfr_init(r23237);
        mpfr_init(r23238);
        mpfr_init(r23239);
        mpfr_init(r23240);
        mpfr_init(r23241);
        mpfr_init(r23242);
        mpfr_init(r23243);
        mpfr_init(r23244);
        mpfr_init(r23245);
        mpfr_init(r23246);
        mpfr_init(r23247);
        mpfr_init(r23248);
        mpfr_init(r23249);
        mpfr_init(r23250);
        mpfr_init(r23251);
        mpfr_init(r23252);
        mpfr_init(r23253);
        mpfr_init(r23254);
        mpfr_init(r23255);
        mpfr_init(r23256);
        mpfr_init(r23257);
        mpfr_init(r23258);
        mpfr_init(r23259);
        mpfr_init(r23260);
        mpfr_init(r23261);
        mpfr_init(r23262);
        mpfr_init(r23263);
        mpfr_init(r23264);
        mpfr_init(r23265);
        mpfr_init(r23266);
        mpfr_init(r23267);
        mpfr_init(r23268);
        mpfr_init(r23269);
        mpfr_init(r23270);
        mpfr_init(r23271);
        mpfr_init(r23272);
        mpfr_init(r23273);
        mpfr_init(r23274);
        mpfr_init(r23275);
        mpfr_init(r23276);
        mpfr_init(r23277);
        mpfr_init(r23278);
        mpfr_init(r23279);
        mpfr_init(r23280);
        mpfr_init(r23281);
}

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(r23219, x, MPFR_RNDN);
        mpfr_set_d(r23220, y, MPFR_RNDN);
        mpfr_mul(r23221, r23219, r23220, MPFR_RNDN);
        mpfr_set_d(r23222, z, MPFR_RNDN);
        mpfr_set_d(r23223, t, MPFR_RNDN);
        mpfr_mul(r23224, r23222, r23223, MPFR_RNDN);
        mpfr_sub(r23225, r23221, r23224, MPFR_RNDN);
        mpfr_set_d(r23226, a, MPFR_RNDN);
        mpfr_set_d(r23227, b, MPFR_RNDN);
        mpfr_mul(r23228, r23226, r23227, MPFR_RNDN);
        mpfr_set_d(r23229, c, MPFR_RNDN);
        mpfr_set_d(r23230, i, MPFR_RNDN);
        mpfr_mul(r23231, r23229, r23230, MPFR_RNDN);
        mpfr_sub(r23232, r23228, r23231, MPFR_RNDN);
        mpfr_mul(r23233, r23225, r23232, MPFR_RNDN);
        mpfr_set_d(r23234, j, MPFR_RNDN);
        mpfr_mul(r23235, r23219, r23234, MPFR_RNDN);
        mpfr_set_d(r23236, k, MPFR_RNDN);
        mpfr_mul(r23237, r23222, r23236, MPFR_RNDN);
        mpfr_sub(r23238, r23235, r23237, MPFR_RNDN);
        mpfr_set_d(r23239, y0, MPFR_RNDN);
        mpfr_mul(r23240, r23239, r23227, MPFR_RNDN);
        mpfr_set_d(r23241, y1, MPFR_RNDN);
        mpfr_mul(r23242, r23241, r23230, MPFR_RNDN);
        mpfr_sub(r23243, r23240, r23242, MPFR_RNDN);
        mpfr_mul(r23244, r23238, r23243, MPFR_RNDN);
        mpfr_sub(r23245, r23233, r23244, MPFR_RNDN);
        mpfr_set_d(r23246, y2, MPFR_RNDN);
        mpfr_mul(r23247, r23219, r23246, MPFR_RNDN);
        mpfr_set_d(r23248, y3, MPFR_RNDN);
        mpfr_mul(r23249, r23222, r23248, MPFR_RNDN);
        mpfr_sub(r23250, r23247, r23249, MPFR_RNDN);
        mpfr_mul(r23251, r23239, r23229, MPFR_RNDN);
        mpfr_mul(r23252, r23241, r23226, MPFR_RNDN);
        mpfr_sub(r23253, r23251, r23252, MPFR_RNDN);
        mpfr_mul(r23254, r23250, r23253, MPFR_RNDN);
        mpfr_add(r23255, r23245, r23254, MPFR_RNDN);
        mpfr_mul(r23256, r23223, r23234, MPFR_RNDN);
        mpfr_mul(r23257, r23220, r23236, MPFR_RNDN);
        mpfr_sub(r23258, r23256, r23257, MPFR_RNDN);
        mpfr_set_d(r23259, y4, MPFR_RNDN);
        mpfr_mul(r23260, r23259, r23227, MPFR_RNDN);
        mpfr_set_d(r23261, y5, MPFR_RNDN);
        mpfr_mul(r23262, r23261, r23230, MPFR_RNDN);
        mpfr_sub(r23263, r23260, r23262, MPFR_RNDN);
        mpfr_mul(r23264, r23258, r23263, MPFR_RNDN);
        mpfr_add(r23265, r23255, r23264, MPFR_RNDN);
        mpfr_mul(r23266, r23223, r23246, MPFR_RNDN);
        mpfr_mul(r23267, r23220, r23248, MPFR_RNDN);
        mpfr_sub(r23268, r23266, r23267, MPFR_RNDN);
        mpfr_mul(r23269, r23259, r23229, MPFR_RNDN);
        mpfr_mul(r23270, r23261, r23226, MPFR_RNDN);
        mpfr_sub(r23271, r23269, r23270, MPFR_RNDN);
        mpfr_mul(r23272, r23268, r23271, MPFR_RNDN);
        mpfr_sub(r23273, r23265, r23272, MPFR_RNDN);
        mpfr_mul(r23274, r23236, r23246, MPFR_RNDN);
        mpfr_mul(r23275, r23234, r23248, MPFR_RNDN);
        mpfr_sub(r23276, r23274, r23275, MPFR_RNDN);
        mpfr_mul(r23277, r23259, r23241, MPFR_RNDN);
        mpfr_mul(r23278, r23261, r23239, MPFR_RNDN);
        mpfr_sub(r23279, r23277, r23278, MPFR_RNDN);
        mpfr_mul(r23280, r23276, r23279, MPFR_RNDN);
        mpfr_add(r23281, r23273, r23280, MPFR_RNDN);
        return mpfr_get_d(r23281, MPFR_RNDN);
}

static mpfr_t r23282, r23283, r23284, r23285, r23286, r23287, r23288, r23289, r23290, r23291, r23292, r23293, r23294, r23295, r23296, r23297, r23298, r23299, r23300, r23301, r23302, r23303, r23304, r23305, r23306, r23307, r23308, r23309, r23310, r23311, r23312, r23313, r23314, r23315, r23316, r23317, r23318, r23319, r23320, r23321, r23322, r23323, r23324, r23325, r23326, r23327, r23328, r23329, r23330, r23331, r23332, r23333, r23334, r23335, r23336, r23337, r23338, r23339, r23340, r23341, r23342, r23343, r23344, r23345, r23346, r23347, r23348, r23349, r23350, r23351, r23352, r23353, r23354, r23355, r23356, r23357, r23358, r23359, r23360, r23361, r23362, r23363, r23364, r23365, r23366, r23367, r23368, r23369, r23370, r23371, r23372, r23373, r23374, r23375, r23376, r23377, r23378, r23379, r23380, r23381, r23382, r23383, r23384, r23385, r23386, r23387, r23388, r23389, r23390, r23391, r23392, r23393, r23394, r23395, r23396, r23397, r23398, r23399, r23400, r23401, r23402, r23403, r23404, r23405, r23406, r23407, r23408, r23409, r23410, r23411, r23412, r23413, r23414, r23415, r23416, r23417, r23418, r23419, r23420, r23421, r23422, r23423, r23424, r23425, r23426, r23427, r23428, r23429, r23430, r23431, r23432, r23433, r23434, r23435, r23436, r23437, r23438, r23439, r23440, r23441, r23442, r23443, r23444, r23445, r23446, r23447, r23448, r23449, r23450, r23451, r23452;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r23282);
        mpfr_init_set_str(r23283, "-5.646789738040427e-32", 10, MPFR_RNDN);
        mpfr_init(r23284);
        mpfr_init(r23285);
        mpfr_init(r23286);
        mpfr_init(r23287);
        mpfr_init(r23288);
        mpfr_init(r23289);
        mpfr_init(r23290);
        mpfr_init(r23291);
        mpfr_init(r23292);
        mpfr_init(r23293);
        mpfr_init(r23294);
        mpfr_init(r23295);
        mpfr_init(r23296);
        mpfr_init(r23297);
        mpfr_init(r23298);
        mpfr_init(r23299);
        mpfr_init(r23300);
        mpfr_init(r23301);
        mpfr_init(r23302);
        mpfr_init(r23303);
        mpfr_init(r23304);
        mpfr_init(r23305);
        mpfr_init(r23306);
        mpfr_init(r23307);
        mpfr_init(r23308);
        mpfr_init(r23309);
        mpfr_init(r23310);
        mpfr_init(r23311);
        mpfr_init(r23312);
        mpfr_init(r23313);
        mpfr_init(r23314);
        mpfr_init(r23315);
        mpfr_init(r23316);
        mpfr_init(r23317);
        mpfr_init(r23318);
        mpfr_init(r23319);
        mpfr_init(r23320);
        mpfr_init(r23321);
        mpfr_init(r23322);
        mpfr_init(r23323);
        mpfr_init(r23324);
        mpfr_init(r23325);
        mpfr_init(r23326);
        mpfr_init(r23327);
        mpfr_init(r23328);
        mpfr_init(r23329);
        mpfr_init(r23330);
        mpfr_init(r23331);
        mpfr_init(r23332);
        mpfr_init(r23333);
        mpfr_init(r23334);
        mpfr_init(r23335);
        mpfr_init(r23336);
        mpfr_init(r23337);
        mpfr_init(r23338);
        mpfr_init_set_str(r23339, "-3.663035026822725e-154", 10, MPFR_RNDN);
        mpfr_init(r23340);
        mpfr_init(r23341);
        mpfr_init(r23342);
        mpfr_init(r23343);
        mpfr_init(r23344);
        mpfr_init(r23345);
        mpfr_init(r23346);
        mpfr_init(r23347);
        mpfr_init(r23348);
        mpfr_init(r23349);
        mpfr_init(r23350);
        mpfr_init(r23351);
        mpfr_init(r23352);
        mpfr_init(r23353);
        mpfr_init(r23354);
        mpfr_init(r23355);
        mpfr_init(r23356);
        mpfr_init(r23357);
        mpfr_init(r23358);
        mpfr_init(r23359);
        mpfr_init(r23360);
        mpfr_init_set_str(r23361, "-5.047921999541564e-246", 10, MPFR_RNDN);
        mpfr_init(r23362);
        mpfr_init(r23363);
        mpfr_init(r23364);
        mpfr_init(r23365);
        mpfr_init(r23366);
        mpfr_init(r23367);
        mpfr_init(r23368);
        mpfr_init(r23369);
        mpfr_init(r23370);
        mpfr_init(r23371);
        mpfr_init(r23372);
        mpfr_init(r23373);
        mpfr_init(r23374);
        mpfr_init(r23375);
        mpfr_init(r23376);
        mpfr_init(r23377);
        mpfr_init(r23378);
        mpfr_init(r23379);
        mpfr_init(r23380);
        mpfr_init(r23381);
        mpfr_init_set_str(r23382, "2.2188558086122525e-238", 10, MPFR_RNDN);
        mpfr_init(r23383);
        mpfr_init(r23384);
        mpfr_init(r23385);
        mpfr_init(r23386);
        mpfr_init(r23387);
        mpfr_init(r23388);
        mpfr_init(r23389);
        mpfr_init(r23390);
        mpfr_init(r23391);
        mpfr_init(r23392);
        mpfr_init(r23393);
        mpfr_init(r23394);
        mpfr_init(r23395);
        mpfr_init(r23396);
        mpfr_init(r23397);
        mpfr_init(r23398);
        mpfr_init(r23399);
        mpfr_init(r23400);
        mpfr_init(r23401);
        mpfr_init(r23402);
        mpfr_init(r23403);
        mpfr_init(r23404);
        mpfr_init(r23405);
        mpfr_init(r23406);
        mpfr_init(r23407);
        mpfr_init(r23408);
        mpfr_init(r23409);
        mpfr_init(r23410);
        mpfr_init(r23411);
        mpfr_init_set_str(r23412, "4.6422657891732295e-231", 10, MPFR_RNDN);
        mpfr_init(r23413);
        mpfr_init(r23414);
        mpfr_init(r23415);
        mpfr_init(r23416);
        mpfr_init(r23417);
        mpfr_init(r23418);
        mpfr_init(r23419);
        mpfr_init(r23420);
        mpfr_init(r23421);
        mpfr_init(r23422);
        mpfr_init(r23423);
        mpfr_init(r23424);
        mpfr_init(r23425);
        mpfr_init(r23426);
        mpfr_init(r23427);
        mpfr_init(r23428);
        mpfr_init(r23429);
        mpfr_init(r23430);
        mpfr_init(r23431);
        mpfr_init(r23432);
        mpfr_init(r23433);
        mpfr_init(r23434);
        mpfr_init(r23435);
        mpfr_init(r23436);
        mpfr_init(r23437);
        mpfr_init(r23438);
        mpfr_init(r23439);
        mpfr_init(r23440);
        mpfr_init(r23441);
        mpfr_init(r23442);
        mpfr_init(r23443);
        mpfr_init(r23444);
        mpfr_init(r23445);
        mpfr_init(r23446);
        mpfr_init(r23447);
        mpfr_init(r23448);
        mpfr_init(r23449);
        mpfr_init(r23450);
        mpfr_init(r23451);
        mpfr_init(r23452);
}

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(r23282, b, MPFR_RNDN);
        ;
        mpfr_set_si(r23284, mpfr_cmp(r23282, r23283) <= 0, MPFR_RNDN);
        mpfr_set_d(r23285, j, MPFR_RNDN);
        mpfr_set_d(r23286, t, MPFR_RNDN);
        mpfr_mul(r23287, r23285, r23286, MPFR_RNDN);
        mpfr_set_d(r23288, k, MPFR_RNDN);
        mpfr_set_d(r23289, y, MPFR_RNDN);
        mpfr_mul(r23290, r23288, r23289, MPFR_RNDN);
        mpfr_sub(r23291, r23287, r23290, MPFR_RNDN);
        mpfr_set_d(r23292, y4, MPFR_RNDN);
        mpfr_mul(r23293, r23292, r23282, MPFR_RNDN);
        mpfr_set_d(r23294, y5, MPFR_RNDN);
        mpfr_set_d(r23295, i, MPFR_RNDN);
        mpfr_mul(r23296, r23294, r23295, MPFR_RNDN);
        mpfr_sub(r23297, r23293, r23296, MPFR_RNDN);
        mpfr_mul(r23298, r23291, r23297, MPFR_RNDN);
        mpfr_set_d(r23299, y2, MPFR_RNDN);
        mpfr_mul(r23300, r23286, r23299, MPFR_RNDN);
        mpfr_set_d(r23301, y3, MPFR_RNDN);
        mpfr_mul(r23302, r23301, r23289, MPFR_RNDN);
        mpfr_sub(r23303, r23300, r23302, MPFR_RNDN);
        mpfr_set_d(r23304, c, MPFR_RNDN);
        mpfr_mul(r23305, r23292, r23304, MPFR_RNDN);
        mpfr_set_d(r23306, a, MPFR_RNDN);
        mpfr_mul(r23307, r23294, r23306, MPFR_RNDN);
        mpfr_sub(r23308, r23305, r23307, MPFR_RNDN);
        mpfr_mul(r23309, r23303, r23308, MPFR_RNDN);
        mpfr_sub(r23310, r23298, r23309, MPFR_RNDN);
        mpfr_set_d(r23311, y1, MPFR_RNDN);
        mpfr_mul(r23312, r23311, r23292, MPFR_RNDN);
        mpfr_set_d(r23313, y0, MPFR_RNDN);
        mpfr_mul(r23314, r23294, r23313, MPFR_RNDN);
        mpfr_sub(r23315, r23312, r23314, MPFR_RNDN);
        mpfr_mul(r23316, r23288, r23299, MPFR_RNDN);
        mpfr_mul(r23317, r23285, r23301, MPFR_RNDN);
        mpfr_sub(r23318, r23316, r23317, MPFR_RNDN);
        mpfr_mul(r23319, r23315, r23318, MPFR_RNDN);
        mpfr_mul(r23320, r23282, r23306, MPFR_RNDN);
        mpfr_mul(r23321, r23295, r23304, MPFR_RNDN);
        mpfr_sub(r23322, r23320, r23321, MPFR_RNDN);
        mpfr_set_d(r23323, x, MPFR_RNDN);
        mpfr_mul(r23324, r23289, r23323, MPFR_RNDN);
        mpfr_set_d(r23325, z, MPFR_RNDN);
        mpfr_mul(r23326, r23325, r23286, MPFR_RNDN);
        mpfr_sub(r23327, r23324, r23326, MPFR_RNDN);
        mpfr_mul(r23328, r23322, r23327, MPFR_RNDN);
        mpfr_mul(r23329, r23285, r23323, MPFR_RNDN);
        mpfr_mul(r23330, r23325, r23288, MPFR_RNDN);
        mpfr_sub(r23331, r23329, r23330, MPFR_RNDN);
        mpfr_mul(r23332, r23282, r23313, MPFR_RNDN);
        mpfr_mul(r23333, r23295, r23311, MPFR_RNDN);
        mpfr_sub(r23334, r23332, r23333, MPFR_RNDN);
        mpfr_mul(r23335, r23331, r23334, MPFR_RNDN);
        mpfr_sub(r23336, r23328, r23335, MPFR_RNDN);
        mpfr_add(r23337, r23319, r23336, MPFR_RNDN);
        mpfr_add(r23338, r23310, r23337, MPFR_RNDN);
        ;
        mpfr_set_si(r23340, mpfr_cmp(r23282, r23339) <= 0, MPFR_RNDN);
        mpfr_add(r23341, r23328, r23298, MPFR_RNDN);
        mpfr_mul(r23342, r23304, r23292, MPFR_RNDN);
        mpfr_mul(r23343, r23306, r23294, MPFR_RNDN);
        mpfr_sub(r23344, r23342, r23343, MPFR_RNDN);
        mpfr_mul(r23345, r23303, r23344, MPFR_RNDN);
        mpfr_sub(r23346, r23341, r23345, MPFR_RNDN);
        mpfr_mul(r23347, r23313, r23294, MPFR_RNDN);
        mpfr_sub(r23348, r23312, r23347, MPFR_RNDN);
        mpfr_mul(r23349, r23301, r23285, MPFR_RNDN);
        mpfr_sub(r23350, r23316, r23349, MPFR_RNDN);
        mpfr_mul(r23351, r23348, r23350, MPFR_RNDN);
        mpfr_mul(r23352, r23313, r23304, MPFR_RNDN);
        mpfr_mul(r23353, r23311, r23306, MPFR_RNDN);
        mpfr_sub(r23354, r23352, r23353, MPFR_RNDN);
        mpfr_mul(r23355, r23299, r23323, MPFR_RNDN);
        mpfr_mul(r23356, r23301, r23325, MPFR_RNDN);
        mpfr_sub(r23357, r23355, r23356, MPFR_RNDN);
        mpfr_mul(r23358, r23354, r23357, MPFR_RNDN);
        mpfr_add(r23359, r23351, r23358, MPFR_RNDN);
        mpfr_add(r23360, r23346, r23359, MPFR_RNDN);
        ;
        mpfr_set_si(r23362, mpfr_cmp(r23282, r23361) <= 0, MPFR_RNDN);
        mpfr_mul(r23363, r23292, r23311, MPFR_RNDN);
        mpfr_sub(r23364, r23363, r23314, MPFR_RNDN);
        mpfr_mul(r23365, r23364, r23350, MPFR_RNDN);
        mpfr_sub(r23366, r23335, r23365, MPFR_RNDN);
        mpfr_sub(r23367, r23328, r23366, MPFR_RNDN);
        mpfr_mul(r23368, r23301, r23304, MPFR_RNDN);
        mpfr_mul(r23369, r23292, r23289, MPFR_RNDN);
        mpfr_mul(r23370, r23368, r23369, MPFR_RNDN);
        mpfr_mul(r23371, r23325, r23301, MPFR_RNDN);
        mpfr_sub(r23372, r23355, r23371, MPFR_RNDN);
        mpfr_mul(r23373, r23372, r23354, MPFR_RNDN);
        mpfr_add(r23374, r23370, r23373, MPFR_RNDN);
        mpfr_mul(r23375, r23289, r23301, MPFR_RNDN);
        mpfr_mul(r23376, r23299, r23286, MPFR_RNDN);
        mpfr_sub(r23377, r23375, r23376, MPFR_RNDN);
        mpfr_mul(r23378, r23307, r23377, MPFR_RNDN);
        mpfr_sub(r23379, r23298, r23378, MPFR_RNDN);
        mpfr_add(r23380, r23374, r23379, MPFR_RNDN);
        mpfr_add(r23381, r23367, r23380, MPFR_RNDN);
        ;
        mpfr_set_si(r23383, mpfr_cmp(r23282, r23382) <= 0, MPFR_RNDN);
        mpfr_mul(r23384, r23299, r23288, MPFR_RNDN);
        mpfr_sub(r23385, r23384, r23349, MPFR_RNDN);
        mpfr_sub(r23386, r23363, r23347, MPFR_RNDN);
        mpfr_mul(r23387, r23385, r23386, MPFR_RNDN);
        mpfr_mul(r23388, r23295, r23294, MPFR_RNDN);
        mpfr_sub(r23389, r23293, r23388, MPFR_RNDN);
        mpfr_mul(r23390, r23286, r23285, MPFR_RNDN);
        mpfr_sub(r23391, r23390, r23290, MPFR_RNDN);
        mpfr_mul(r23392, r23389, r23391, MPFR_RNDN);
        mpfr_add(r23393, r23387, r23392, MPFR_RNDN);
        mpfr_mul(r23394, r23304, r23313, MPFR_RNDN);
        mpfr_sub(r23395, r23394, r23353, MPFR_RNDN);
        mpfr_mul(r23396, r23395, r23357, MPFR_RNDN);
        mpfr_mul(r23397, r23295, r23323, MPFR_RNDN);
        mpfr_mul(r23398, r23285, r23311, MPFR_RNDN);
        mpfr_mul(r23399, r23397, r23398, MPFR_RNDN);
        mpfr_mul(r23400, r23288, r23325, MPFR_RNDN);
        mpfr_mul(r23401, r23400, r23332, MPFR_RNDN);
        mpfr_add(r23402, r23399, r23401, MPFR_RNDN);
        mpfr_add(r23403, r23396, r23402, MPFR_RNDN);
        mpfr_mul(r23404, r23295, r23288, MPFR_RNDN);
        mpfr_mul(r23405, r23325, r23311, MPFR_RNDN);
        mpfr_mul(r23406, r23404, r23405, MPFR_RNDN);
        mpfr_sub(r23407, r23376, r23302, MPFR_RNDN);
        mpfr_mul(r23408, r23407, r23308, MPFR_RNDN);
        mpfr_add(r23409, r23406, r23408, MPFR_RNDN);
        mpfr_sub(r23410, r23403, r23409, MPFR_RNDN);
        mpfr_add(r23411, r23393, r23410, MPFR_RNDN);
        ;
        mpfr_set_si(r23413, mpfr_cmp(r23282, r23412) <= 0, MPFR_RNDN);
        mpfr_sub(r23414, r23376, r23375, MPFR_RNDN);
        mpfr_mul(r23415, r23308, r23414, MPFR_RNDN);
        mpfr_sub(r23416, r23373, r23415, MPFR_RNDN);
        mpfr_sub(r23417, r23335, r23416, MPFR_RNDN);
        mpfr_sub(r23418, r23341, r23417, MPFR_RNDN);
        mpfr_mul(r23419, r23323, r23289, MPFR_RNDN);
        mpfr_sub(r23420, r23419, r23326, MPFR_RNDN);
        mpfr_mul(r23421, r23306, r23282, MPFR_RNDN);
        mpfr_mul(r23422, r23304, r23295, MPFR_RNDN);
        mpfr_sub(r23423, r23421, r23422, MPFR_RNDN);
        mpfr_mul(r23424, r23420, r23423, MPFR_RNDN);
        mpfr_mul(r23425, r23323, r23285, MPFR_RNDN);
        mpfr_sub(r23426, r23425, r23330, MPFR_RNDN);
        mpfr_mul(r23427, r23313, r23282, MPFR_RNDN);
        mpfr_mul(r23428, r23311, r23295, MPFR_RNDN);
        mpfr_sub(r23429, r23427, r23428, MPFR_RNDN);
        mpfr_mul(r23430, r23426, r23429, MPFR_RNDN);
        mpfr_sub(r23431, r23424, r23430, MPFR_RNDN);
        mpfr_mul(r23432, r23323, r23299, MPFR_RNDN);
        mpfr_sub(r23433, r23432, r23371, MPFR_RNDN);
        mpfr_mul(r23434, r23433, r23354, MPFR_RNDN);
        mpfr_add(r23435, r23431, r23434, MPFR_RNDN);
        mpfr_mul(r23436, r23289, r23288, MPFR_RNDN);
        mpfr_sub(r23437, r23390, r23436, MPFR_RNDN);
        mpfr_mul(r23438, r23437, r23297, MPFR_RNDN);
        mpfr_add(r23439, r23435, r23438, MPFR_RNDN);
        mpfr_sub(r23440, r23300, r23375, MPFR_RNDN);
        mpfr_mul(r23441, r23440, r23308, MPFR_RNDN);
        mpfr_sub(r23442, r23439, r23441, MPFR_RNDN);
        mpfr_mul(r23443, r23318, r23364, MPFR_RNDN);
        mpfr_cbrt(r23444, r23443, MPFR_RNDN);
        mpfr_mul(r23445, r23444, r23444, MPFR_RNDN);
        mpfr_mul(r23446, r23445, r23444, MPFR_RNDN);
        mpfr_add(r23447, r23442, r23446, MPFR_RNDN);
        if (mpfr_get_si(r23413, MPFR_RNDN)) { mpfr_set(r23448, r23418, MPFR_RNDN); } else { mpfr_set(r23448, r23447, MPFR_RNDN); };
        if (mpfr_get_si(r23383, MPFR_RNDN)) { mpfr_set(r23449, r23411, MPFR_RNDN); } else { mpfr_set(r23449, r23448, MPFR_RNDN); };
        if (mpfr_get_si(r23362, MPFR_RNDN)) { mpfr_set(r23450, r23381, MPFR_RNDN); } else { mpfr_set(r23450, r23449, MPFR_RNDN); };
        if (mpfr_get_si(r23340, MPFR_RNDN)) { mpfr_set(r23451, r23360, MPFR_RNDN); } else { mpfr_set(r23451, r23450, MPFR_RNDN); };
        if (mpfr_get_si(r23284, MPFR_RNDN)) { mpfr_set(r23452, r23338, MPFR_RNDN); } else { mpfr_set(r23452, r23451, MPFR_RNDN); };
        return mpfr_get_d(r23452, MPFR_RNDN);
}

static mpfr_t r23453, r23454, r23455, r23456, r23457, r23458, r23459, r23460, r23461, r23462, r23463, r23464, r23465, r23466, r23467, r23468, r23469, r23470, r23471, r23472, r23473, r23474, r23475, r23476, r23477, r23478, r23479, r23480, r23481, r23482, r23483, r23484, r23485, r23486, r23487, r23488, r23489, r23490, r23491, r23492, r23493, r23494, r23495, r23496, r23497, r23498, r23499, r23500, r23501, r23502, r23503, r23504, r23505, r23506, r23507, r23508, r23509, r23510, r23511, r23512, r23513, r23514, r23515, r23516, r23517, r23518, r23519, r23520, r23521, r23522, r23523, r23524, r23525, r23526, r23527, r23528, r23529, r23530, r23531, r23532, r23533, r23534, r23535, r23536, r23537, r23538, r23539, r23540, r23541, r23542, r23543, r23544, r23545, r23546, r23547, r23548, r23549, r23550, r23551, r23552, r23553, r23554, r23555, r23556, r23557, r23558, r23559, r23560, r23561, r23562, r23563, r23564, r23565, r23566, r23567, r23568, r23569, r23570, r23571, r23572, r23573, r23574, r23575, r23576, r23577, r23578, r23579, r23580, r23581, r23582, r23583, r23584, r23585, r23586, r23587, r23588, r23589, r23590, r23591, r23592, r23593, r23594, r23595, r23596, r23597, r23598, r23599, r23600, r23601, r23602, r23603, r23604, r23605, r23606, r23607, r23608, r23609, r23610, r23611, r23612, r23613, r23614, r23615, r23616, r23617, r23618, r23619, r23620, r23621, r23622, r23623;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r23453);
        mpfr_init_set_str(r23454, "-5.646789738040427e-32", 10, MPFR_RNDN);
        mpfr_init(r23455);
        mpfr_init(r23456);
        mpfr_init(r23457);
        mpfr_init(r23458);
        mpfr_init(r23459);
        mpfr_init(r23460);
        mpfr_init(r23461);
        mpfr_init(r23462);
        mpfr_init(r23463);
        mpfr_init(r23464);
        mpfr_init(r23465);
        mpfr_init(r23466);
        mpfr_init(r23467);
        mpfr_init(r23468);
        mpfr_init(r23469);
        mpfr_init(r23470);
        mpfr_init(r23471);
        mpfr_init(r23472);
        mpfr_init(r23473);
        mpfr_init(r23474);
        mpfr_init(r23475);
        mpfr_init(r23476);
        mpfr_init(r23477);
        mpfr_init(r23478);
        mpfr_init(r23479);
        mpfr_init(r23480);
        mpfr_init(r23481);
        mpfr_init(r23482);
        mpfr_init(r23483);
        mpfr_init(r23484);
        mpfr_init(r23485);
        mpfr_init(r23486);
        mpfr_init(r23487);
        mpfr_init(r23488);
        mpfr_init(r23489);
        mpfr_init(r23490);
        mpfr_init(r23491);
        mpfr_init(r23492);
        mpfr_init(r23493);
        mpfr_init(r23494);
        mpfr_init(r23495);
        mpfr_init(r23496);
        mpfr_init(r23497);
        mpfr_init(r23498);
        mpfr_init(r23499);
        mpfr_init(r23500);
        mpfr_init(r23501);
        mpfr_init(r23502);
        mpfr_init(r23503);
        mpfr_init(r23504);
        mpfr_init(r23505);
        mpfr_init(r23506);
        mpfr_init(r23507);
        mpfr_init(r23508);
        mpfr_init(r23509);
        mpfr_init_set_str(r23510, "-3.663035026822725e-154", 10, MPFR_RNDN);
        mpfr_init(r23511);
        mpfr_init(r23512);
        mpfr_init(r23513);
        mpfr_init(r23514);
        mpfr_init(r23515);
        mpfr_init(r23516);
        mpfr_init(r23517);
        mpfr_init(r23518);
        mpfr_init(r23519);
        mpfr_init(r23520);
        mpfr_init(r23521);
        mpfr_init(r23522);
        mpfr_init(r23523);
        mpfr_init(r23524);
        mpfr_init(r23525);
        mpfr_init(r23526);
        mpfr_init(r23527);
        mpfr_init(r23528);
        mpfr_init(r23529);
        mpfr_init(r23530);
        mpfr_init(r23531);
        mpfr_init_set_str(r23532, "-5.047921999541564e-246", 10, MPFR_RNDN);
        mpfr_init(r23533);
        mpfr_init(r23534);
        mpfr_init(r23535);
        mpfr_init(r23536);
        mpfr_init(r23537);
        mpfr_init(r23538);
        mpfr_init(r23539);
        mpfr_init(r23540);
        mpfr_init(r23541);
        mpfr_init(r23542);
        mpfr_init(r23543);
        mpfr_init(r23544);
        mpfr_init(r23545);
        mpfr_init(r23546);
        mpfr_init(r23547);
        mpfr_init(r23548);
        mpfr_init(r23549);
        mpfr_init(r23550);
        mpfr_init(r23551);
        mpfr_init(r23552);
        mpfr_init_set_str(r23553, "2.2188558086122525e-238", 10, MPFR_RNDN);
        mpfr_init(r23554);
        mpfr_init(r23555);
        mpfr_init(r23556);
        mpfr_init(r23557);
        mpfr_init(r23558);
        mpfr_init(r23559);
        mpfr_init(r23560);
        mpfr_init(r23561);
        mpfr_init(r23562);
        mpfr_init(r23563);
        mpfr_init(r23564);
        mpfr_init(r23565);
        mpfr_init(r23566);
        mpfr_init(r23567);
        mpfr_init(r23568);
        mpfr_init(r23569);
        mpfr_init(r23570);
        mpfr_init(r23571);
        mpfr_init(r23572);
        mpfr_init(r23573);
        mpfr_init(r23574);
        mpfr_init(r23575);
        mpfr_init(r23576);
        mpfr_init(r23577);
        mpfr_init(r23578);
        mpfr_init(r23579);
        mpfr_init(r23580);
        mpfr_init(r23581);
        mpfr_init(r23582);
        mpfr_init_set_str(r23583, "4.6422657891732295e-231", 10, MPFR_RNDN);
        mpfr_init(r23584);
        mpfr_init(r23585);
        mpfr_init(r23586);
        mpfr_init(r23587);
        mpfr_init(r23588);
        mpfr_init(r23589);
        mpfr_init(r23590);
        mpfr_init(r23591);
        mpfr_init(r23592);
        mpfr_init(r23593);
        mpfr_init(r23594);
        mpfr_init(r23595);
        mpfr_init(r23596);
        mpfr_init(r23597);
        mpfr_init(r23598);
        mpfr_init(r23599);
        mpfr_init(r23600);
        mpfr_init(r23601);
        mpfr_init(r23602);
        mpfr_init(r23603);
        mpfr_init(r23604);
        mpfr_init(r23605);
        mpfr_init(r23606);
        mpfr_init(r23607);
        mpfr_init(r23608);
        mpfr_init(r23609);
        mpfr_init(r23610);
        mpfr_init(r23611);
        mpfr_init(r23612);
        mpfr_init(r23613);
        mpfr_init(r23614);
        mpfr_init(r23615);
        mpfr_init(r23616);
        mpfr_init(r23617);
        mpfr_init(r23618);
        mpfr_init(r23619);
        mpfr_init(r23620);
        mpfr_init(r23621);
        mpfr_init(r23622);
        mpfr_init(r23623);
}

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(r23453, b, MPFR_RNDN);
        ;
        mpfr_set_si(r23455, mpfr_cmp(r23453, r23454) <= 0, MPFR_RNDN);
        mpfr_set_d(r23456, j, MPFR_RNDN);
        mpfr_set_d(r23457, t, MPFR_RNDN);
        mpfr_mul(r23458, r23456, r23457, MPFR_RNDN);
        mpfr_set_d(r23459, k, MPFR_RNDN);
        mpfr_set_d(r23460, y, MPFR_RNDN);
        mpfr_mul(r23461, r23459, r23460, MPFR_RNDN);
        mpfr_sub(r23462, r23458, r23461, MPFR_RNDN);
        mpfr_set_d(r23463, y4, MPFR_RNDN);
        mpfr_mul(r23464, r23463, r23453, MPFR_RNDN);
        mpfr_set_d(r23465, y5, MPFR_RNDN);
        mpfr_set_d(r23466, i, MPFR_RNDN);
        mpfr_mul(r23467, r23465, r23466, MPFR_RNDN);
        mpfr_sub(r23468, r23464, r23467, MPFR_RNDN);
        mpfr_mul(r23469, r23462, r23468, MPFR_RNDN);
        mpfr_set_d(r23470, y2, MPFR_RNDN);
        mpfr_mul(r23471, r23457, r23470, MPFR_RNDN);
        mpfr_set_d(r23472, y3, MPFR_RNDN);
        mpfr_mul(r23473, r23472, r23460, MPFR_RNDN);
        mpfr_sub(r23474, r23471, r23473, MPFR_RNDN);
        mpfr_set_d(r23475, c, MPFR_RNDN);
        mpfr_mul(r23476, r23463, r23475, MPFR_RNDN);
        mpfr_set_d(r23477, a, MPFR_RNDN);
        mpfr_mul(r23478, r23465, r23477, MPFR_RNDN);
        mpfr_sub(r23479, r23476, r23478, MPFR_RNDN);
        mpfr_mul(r23480, r23474, r23479, MPFR_RNDN);
        mpfr_sub(r23481, r23469, r23480, MPFR_RNDN);
        mpfr_set_d(r23482, y1, MPFR_RNDN);
        mpfr_mul(r23483, r23482, r23463, MPFR_RNDN);
        mpfr_set_d(r23484, y0, MPFR_RNDN);
        mpfr_mul(r23485, r23465, r23484, MPFR_RNDN);
        mpfr_sub(r23486, r23483, r23485, MPFR_RNDN);
        mpfr_mul(r23487, r23459, r23470, MPFR_RNDN);
        mpfr_mul(r23488, r23456, r23472, MPFR_RNDN);
        mpfr_sub(r23489, r23487, r23488, MPFR_RNDN);
        mpfr_mul(r23490, r23486, r23489, MPFR_RNDN);
        mpfr_mul(r23491, r23453, r23477, MPFR_RNDN);
        mpfr_mul(r23492, r23466, r23475, MPFR_RNDN);
        mpfr_sub(r23493, r23491, r23492, MPFR_RNDN);
        mpfr_set_d(r23494, x, MPFR_RNDN);
        mpfr_mul(r23495, r23460, r23494, MPFR_RNDN);
        mpfr_set_d(r23496, z, MPFR_RNDN);
        mpfr_mul(r23497, r23496, r23457, MPFR_RNDN);
        mpfr_sub(r23498, r23495, r23497, MPFR_RNDN);
        mpfr_mul(r23499, r23493, r23498, MPFR_RNDN);
        mpfr_mul(r23500, r23456, r23494, MPFR_RNDN);
        mpfr_mul(r23501, r23496, r23459, MPFR_RNDN);
        mpfr_sub(r23502, r23500, r23501, MPFR_RNDN);
        mpfr_mul(r23503, r23453, r23484, MPFR_RNDN);
        mpfr_mul(r23504, r23466, r23482, MPFR_RNDN);
        mpfr_sub(r23505, r23503, r23504, MPFR_RNDN);
        mpfr_mul(r23506, r23502, r23505, MPFR_RNDN);
        mpfr_sub(r23507, r23499, r23506, MPFR_RNDN);
        mpfr_add(r23508, r23490, r23507, MPFR_RNDN);
        mpfr_add(r23509, r23481, r23508, MPFR_RNDN);
        ;
        mpfr_set_si(r23511, mpfr_cmp(r23453, r23510) <= 0, MPFR_RNDN);
        mpfr_add(r23512, r23499, r23469, MPFR_RNDN);
        mpfr_mul(r23513, r23475, r23463, MPFR_RNDN);
        mpfr_mul(r23514, r23477, r23465, MPFR_RNDN);
        mpfr_sub(r23515, r23513, r23514, MPFR_RNDN);
        mpfr_mul(r23516, r23474, r23515, MPFR_RNDN);
        mpfr_sub(r23517, r23512, r23516, MPFR_RNDN);
        mpfr_mul(r23518, r23484, r23465, MPFR_RNDN);
        mpfr_sub(r23519, r23483, r23518, MPFR_RNDN);
        mpfr_mul(r23520, r23472, r23456, MPFR_RNDN);
        mpfr_sub(r23521, r23487, r23520, MPFR_RNDN);
        mpfr_mul(r23522, r23519, r23521, MPFR_RNDN);
        mpfr_mul(r23523, r23484, r23475, MPFR_RNDN);
        mpfr_mul(r23524, r23482, r23477, MPFR_RNDN);
        mpfr_sub(r23525, r23523, r23524, MPFR_RNDN);
        mpfr_mul(r23526, r23470, r23494, MPFR_RNDN);
        mpfr_mul(r23527, r23472, r23496, MPFR_RNDN);
        mpfr_sub(r23528, r23526, r23527, MPFR_RNDN);
        mpfr_mul(r23529, r23525, r23528, MPFR_RNDN);
        mpfr_add(r23530, r23522, r23529, MPFR_RNDN);
        mpfr_add(r23531, r23517, r23530, MPFR_RNDN);
        ;
        mpfr_set_si(r23533, mpfr_cmp(r23453, r23532) <= 0, MPFR_RNDN);
        mpfr_mul(r23534, r23463, r23482, MPFR_RNDN);
        mpfr_sub(r23535, r23534, r23485, MPFR_RNDN);
        mpfr_mul(r23536, r23535, r23521, MPFR_RNDN);
        mpfr_sub(r23537, r23506, r23536, MPFR_RNDN);
        mpfr_sub(r23538, r23499, r23537, MPFR_RNDN);
        mpfr_mul(r23539, r23472, r23475, MPFR_RNDN);
        mpfr_mul(r23540, r23463, r23460, MPFR_RNDN);
        mpfr_mul(r23541, r23539, r23540, MPFR_RNDN);
        mpfr_mul(r23542, r23496, r23472, MPFR_RNDN);
        mpfr_sub(r23543, r23526, r23542, MPFR_RNDN);
        mpfr_mul(r23544, r23543, r23525, MPFR_RNDN);
        mpfr_add(r23545, r23541, r23544, MPFR_RNDN);
        mpfr_mul(r23546, r23460, r23472, MPFR_RNDN);
        mpfr_mul(r23547, r23470, r23457, MPFR_RNDN);
        mpfr_sub(r23548, r23546, r23547, MPFR_RNDN);
        mpfr_mul(r23549, r23478, r23548, MPFR_RNDN);
        mpfr_sub(r23550, r23469, r23549, MPFR_RNDN);
        mpfr_add(r23551, r23545, r23550, MPFR_RNDN);
        mpfr_add(r23552, r23538, r23551, MPFR_RNDN);
        ;
        mpfr_set_si(r23554, mpfr_cmp(r23453, r23553) <= 0, MPFR_RNDN);
        mpfr_mul(r23555, r23470, r23459, MPFR_RNDN);
        mpfr_sub(r23556, r23555, r23520, MPFR_RNDN);
        mpfr_sub(r23557, r23534, r23518, MPFR_RNDN);
        mpfr_mul(r23558, r23556, r23557, MPFR_RNDN);
        mpfr_mul(r23559, r23466, r23465, MPFR_RNDN);
        mpfr_sub(r23560, r23464, r23559, MPFR_RNDN);
        mpfr_mul(r23561, r23457, r23456, MPFR_RNDN);
        mpfr_sub(r23562, r23561, r23461, MPFR_RNDN);
        mpfr_mul(r23563, r23560, r23562, MPFR_RNDN);
        mpfr_add(r23564, r23558, r23563, MPFR_RNDN);
        mpfr_mul(r23565, r23475, r23484, MPFR_RNDN);
        mpfr_sub(r23566, r23565, r23524, MPFR_RNDN);
        mpfr_mul(r23567, r23566, r23528, MPFR_RNDN);
        mpfr_mul(r23568, r23466, r23494, MPFR_RNDN);
        mpfr_mul(r23569, r23456, r23482, MPFR_RNDN);
        mpfr_mul(r23570, r23568, r23569, MPFR_RNDN);
        mpfr_mul(r23571, r23459, r23496, MPFR_RNDN);
        mpfr_mul(r23572, r23571, r23503, MPFR_RNDN);
        mpfr_add(r23573, r23570, r23572, MPFR_RNDN);
        mpfr_add(r23574, r23567, r23573, MPFR_RNDN);
        mpfr_mul(r23575, r23466, r23459, MPFR_RNDN);
        mpfr_mul(r23576, r23496, r23482, MPFR_RNDN);
        mpfr_mul(r23577, r23575, r23576, MPFR_RNDN);
        mpfr_sub(r23578, r23547, r23473, MPFR_RNDN);
        mpfr_mul(r23579, r23578, r23479, MPFR_RNDN);
        mpfr_add(r23580, r23577, r23579, MPFR_RNDN);
        mpfr_sub(r23581, r23574, r23580, MPFR_RNDN);
        mpfr_add(r23582, r23564, r23581, MPFR_RNDN);
        ;
        mpfr_set_si(r23584, mpfr_cmp(r23453, r23583) <= 0, MPFR_RNDN);
        mpfr_sub(r23585, r23547, r23546, MPFR_RNDN);
        mpfr_mul(r23586, r23479, r23585, MPFR_RNDN);
        mpfr_sub(r23587, r23544, r23586, MPFR_RNDN);
        mpfr_sub(r23588, r23506, r23587, MPFR_RNDN);
        mpfr_sub(r23589, r23512, r23588, MPFR_RNDN);
        mpfr_mul(r23590, r23494, r23460, MPFR_RNDN);
        mpfr_sub(r23591, r23590, r23497, MPFR_RNDN);
        mpfr_mul(r23592, r23477, r23453, MPFR_RNDN);
        mpfr_mul(r23593, r23475, r23466, MPFR_RNDN);
        mpfr_sub(r23594, r23592, r23593, MPFR_RNDN);
        mpfr_mul(r23595, r23591, r23594, MPFR_RNDN);
        mpfr_mul(r23596, r23494, r23456, MPFR_RNDN);
        mpfr_sub(r23597, r23596, r23501, MPFR_RNDN);
        mpfr_mul(r23598, r23484, r23453, MPFR_RNDN);
        mpfr_mul(r23599, r23482, r23466, MPFR_RNDN);
        mpfr_sub(r23600, r23598, r23599, MPFR_RNDN);
        mpfr_mul(r23601, r23597, r23600, MPFR_RNDN);
        mpfr_sub(r23602, r23595, r23601, MPFR_RNDN);
        mpfr_mul(r23603, r23494, r23470, MPFR_RNDN);
        mpfr_sub(r23604, r23603, r23542, MPFR_RNDN);
        mpfr_mul(r23605, r23604, r23525, MPFR_RNDN);
        mpfr_add(r23606, r23602, r23605, MPFR_RNDN);
        mpfr_mul(r23607, r23460, r23459, MPFR_RNDN);
        mpfr_sub(r23608, r23561, r23607, MPFR_RNDN);
        mpfr_mul(r23609, r23608, r23468, MPFR_RNDN);
        mpfr_add(r23610, r23606, r23609, MPFR_RNDN);
        mpfr_sub(r23611, r23471, r23546, MPFR_RNDN);
        mpfr_mul(r23612, r23611, r23479, MPFR_RNDN);
        mpfr_sub(r23613, r23610, r23612, MPFR_RNDN);
        mpfr_mul(r23614, r23489, r23535, MPFR_RNDN);
        mpfr_cbrt(r23615, r23614, MPFR_RNDN);
        mpfr_mul(r23616, r23615, r23615, MPFR_RNDN);
        mpfr_mul(r23617, r23616, r23615, MPFR_RNDN);
        mpfr_add(r23618, r23613, r23617, MPFR_RNDN);
        if (mpfr_get_si(r23584, MPFR_RNDN)) { mpfr_set(r23619, r23589, MPFR_RNDN); } else { mpfr_set(r23619, r23618, MPFR_RNDN); };
        if (mpfr_get_si(r23554, MPFR_RNDN)) { mpfr_set(r23620, r23582, MPFR_RNDN); } else { mpfr_set(r23620, r23619, MPFR_RNDN); };
        if (mpfr_get_si(r23533, MPFR_RNDN)) { mpfr_set(r23621, r23552, MPFR_RNDN); } else { mpfr_set(r23621, r23620, MPFR_RNDN); };
        if (mpfr_get_si(r23511, MPFR_RNDN)) { mpfr_set(r23622, r23531, MPFR_RNDN); } else { mpfr_set(r23622, r23621, MPFR_RNDN); };
        if (mpfr_get_si(r23455, MPFR_RNDN)) { mpfr_set(r23623, r23509, MPFR_RNDN); } else { mpfr_set(r23623, r23622, MPFR_RNDN); };
        return mpfr_get_d(r23623, MPFR_RNDN);
}

