#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 r10020 = x;
        float r10021 = y;
        float r10022 = r10020 * r10021;
        float r10023 = z;
        float r10024 = t;
        float r10025 = r10023 * r10024;
        float r10026 = r10022 - r10025;
        float r10027 = a;
        float r10028 = b;
        float r10029 = r10027 * r10028;
        float r10030 = c;
        float r10031 = i;
        float r10032 = r10030 * r10031;
        float r10033 = r10029 - r10032;
        float r10034 = r10026 * r10033;
        float r10035 = j;
        float r10036 = r10020 * r10035;
        float r10037 = k;
        float r10038 = r10023 * r10037;
        float r10039 = r10036 - r10038;
        float r10040 = y0;
        float r10041 = r10040 * r10028;
        float r10042 = y1;
        float r10043 = r10042 * r10031;
        float r10044 = r10041 - r10043;
        float r10045 = r10039 * r10044;
        float r10046 = r10034 - r10045;
        float r10047 = y2;
        float r10048 = r10020 * r10047;
        float r10049 = y3;
        float r10050 = r10023 * r10049;
        float r10051 = r10048 - r10050;
        float r10052 = r10040 * r10030;
        float r10053 = r10042 * r10027;
        float r10054 = r10052 - r10053;
        float r10055 = r10051 * r10054;
        float r10056 = r10046 + r10055;
        float r10057 = r10024 * r10035;
        float r10058 = r10021 * r10037;
        float r10059 = r10057 - r10058;
        float r10060 = y4;
        float r10061 = r10060 * r10028;
        float r10062 = y5;
        float r10063 = r10062 * r10031;
        float r10064 = r10061 - r10063;
        float r10065 = r10059 * r10064;
        float r10066 = r10056 + r10065;
        float r10067 = r10024 * r10047;
        float r10068 = r10021 * r10049;
        float r10069 = r10067 - r10068;
        float r10070 = r10060 * r10030;
        float r10071 = r10062 * r10027;
        float r10072 = r10070 - r10071;
        float r10073 = r10069 * r10072;
        float r10074 = r10066 - r10073;
        float r10075 = r10037 * r10047;
        float r10076 = r10035 * r10049;
        float r10077 = r10075 - r10076;
        float r10078 = r10060 * r10042;
        float r10079 = r10062 * r10040;
        float r10080 = r10078 - r10079;
        float r10081 = r10077 * r10080;
        float r10082 = r10074 + r10081;
        return r10082;
}

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 r10083 = x;
        double r10084 = y;
        double r10085 = r10083 * r10084;
        double r10086 = z;
        double r10087 = t;
        double r10088 = r10086 * r10087;
        double r10089 = r10085 - r10088;
        double r10090 = a;
        double r10091 = b;
        double r10092 = r10090 * r10091;
        double r10093 = c;
        double r10094 = i;
        double r10095 = r10093 * r10094;
        double r10096 = r10092 - r10095;
        double r10097 = r10089 * r10096;
        double r10098 = j;
        double r10099 = r10083 * r10098;
        double r10100 = k;
        double r10101 = r10086 * r10100;
        double r10102 = r10099 - r10101;
        double r10103 = y0;
        double r10104 = r10103 * r10091;
        double r10105 = y1;
        double r10106 = r10105 * r10094;
        double r10107 = r10104 - r10106;
        double r10108 = r10102 * r10107;
        double r10109 = r10097 - r10108;
        double r10110 = y2;
        double r10111 = r10083 * r10110;
        double r10112 = y3;
        double r10113 = r10086 * r10112;
        double r10114 = r10111 - r10113;
        double r10115 = r10103 * r10093;
        double r10116 = r10105 * r10090;
        double r10117 = r10115 - r10116;
        double r10118 = r10114 * r10117;
        double r10119 = r10109 + r10118;
        double r10120 = r10087 * r10098;
        double r10121 = r10084 * r10100;
        double r10122 = r10120 - r10121;
        double r10123 = y4;
        double r10124 = r10123 * r10091;
        double r10125 = y5;
        double r10126 = r10125 * r10094;
        double r10127 = r10124 - r10126;
        double r10128 = r10122 * r10127;
        double r10129 = r10119 + r10128;
        double r10130 = r10087 * r10110;
        double r10131 = r10084 * r10112;
        double r10132 = r10130 - r10131;
        double r10133 = r10123 * r10093;
        double r10134 = r10125 * r10090;
        double r10135 = r10133 - r10134;
        double r10136 = r10132 * r10135;
        double r10137 = r10129 - r10136;
        double r10138 = r10100 * r10110;
        double r10139 = r10098 * r10112;
        double r10140 = r10138 - r10139;
        double r10141 = r10123 * r10105;
        double r10142 = r10125 * r10103;
        double r10143 = r10141 - r10142;
        double r10144 = r10140 * r10143;
        double r10145 = r10137 + r10144;
        return r10145;
}


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 r10146 = k;
        float r10147 = y2;
        float r10148 = r10146 * r10147;
        float r10149 = j;
        float r10150 = y3;
        float r10151 = r10149 * r10150;
        float r10152 = r10148 - r10151;
        float r10153 = y1;
        float r10154 = y4;
        float r10155 = r10153 * r10154;
        float r10156 = y0;
        float r10157 = y5;
        float r10158 = r10156 * r10157;
        float r10159 = r10155 - r10158;
        float r10160 = r10152 * r10159;
        float r10161 = b;
        float r10162 = r10161 * r10154;
        float r10163 = i;
        float r10164 = r10163 * r10157;
        float r10165 = r10162 - r10164;
        float r10166 = t;
        float r10167 = r10166 * r10149;
        float r10168 = y;
        float r10169 = r10168 * r10146;
        float r10170 = r10167 - r10169;
        float r10171 = r10165 * r10170;
        float r10172 = c;
        float r10173 = r10172 * r10154;
        float r10174 = a;
        float r10175 = r10157 * r10174;
        float r10176 = r10173 - r10175;
        float r10177 = r10147 * r10166;
        float r10178 = r10150 * r10168;
        float r10179 = r10177 - r10178;
        float r10180 = r10176 * r10179;
        float r10181 = r10171 - r10180;
        float r10182 = r10160 + r10181;
        float r10183 = x;
        float r10184 = r10183 * r10147;
        float r10185 = z;
        float r10186 = r10150 * r10185;
        float r10187 = r10184 - r10186;
        float r10188 = r10156 * r10172;
        float r10189 = r10153 * r10174;
        float r10190 = r10188 - r10189;
        float r10191 = r10172 * r10166;
        float r10192 = r10185 * r10163;
        float r10193 = r10191 * r10192;
        float r10194 = fma(r10187, r10190, r10193);
        float r10195 = r10183 * r10149;
        float r10196 = r10185 * r10146;
        float r10197 = r10195 - r10196;
        float r10198 = r10161 * r10156;
        float r10199 = r10153 * r10163;
        float r10200 = r10198 - r10199;
        float r10201 = r10172 * r10168;
        float r10202 = r10183 * r10201;
        float r10203 = r10166 * r10161;
        float r10204 = r10174 * r10185;
        float r10205 = r10203 * r10204;
        float r10206 = fma(r10202, r10163, r10205);
        float r10207 = fma(r10197, r10200, r10206);
        float r10208 = r10194 - r10207;
        float r10209 = r10182 + r10208;
        float r10210 = -7.851315540843156e+287;
        bool r10211 = r10209 <= r10210;
        float r10212 = r10146 * r10168;
        float r10213 = r10167 - r10212;
        float r10214 = r10174 * r10161;
        float r10215 = r10172 * r10163;
        float r10216 = r10214 - r10215;
        float r10217 = r10183 * r10168;
        float r10218 = r10185 * r10166;
        float r10219 = r10217 - r10218;
        float r10220 = r10216 * r10219;
        float r10221 = fma(r10213, r10165, r10220);
        float r10222 = r10156 * r10161;
        float r10223 = r10163 * r10153;
        float r10224 = r10222 - r10223;
        float r10225 = r10149 * r10183;
        float r10226 = r10225 - r10196;
        float r10227 = r10224 * r10226;
        float r10228 = r10147 * r10183;
        float r10229 = r10185 * r10150;
        float r10230 = r10228 - r10229;
        float r10231 = r10230 * r10190;
        float r10232 = r10227 - r10231;
        float r10233 = r10221 - r10232;
        float r10234 = r10168 * r10150;
        float r10235 = r10177 - r10234;
        float r10236 = r10174 * r10157;
        float r10237 = r10173 - r10236;
        float r10238 = r10235 * r10237;
        float r10239 = r10147 * r10146;
        float r10240 = r10151 - r10239;
        float r10241 = r10158 * r10240;
        float r10242 = r10238 - r10241;
        float r10243 = r10154 * r10149;
        float r10244 = r10150 * r10153;
        float r10245 = r10243 * r10244;
        float r10246 = r10242 + r10245;
        float r10247 = r10233 - r10246;
        float r10248 = -8.358568131790281e+185;
        bool r10249 = r10209 <= r10248;
        float r10250 = r10185 * r10172;
        float r10251 = r10166 * r10163;
        float r10252 = r10250 * r10251;
        float r10253 = fma(r10187, r10190, r10252);
        float r10254 = r10166 * r10185;
        float r10255 = r10214 * r10254;
        float r10256 = fma(r10202, r10163, r10255);
        float r10257 = fma(r10197, r10200, r10256);
        float r10258 = r10253 - r10257;
        float r10259 = r10181 + r10160;
        float r10260 = r10258 + r10259;
        float r10261 = 1.1109091287307456e+203;
        bool r10262 = r10209 <= r10261;
        float r10263 = fma(r10165, r10213, r10220);
        float r10264 = r10263 - r10227;
        float r10265 = r10229 - r10228;
        float r10266 = r10153 * r10265;
        float r10267 = -r10188;
        float r10268 = r10229 * r10267;
        float r10269 = fma(r10174, r10266, r10268);
        float r10270 = r10154 * r10172;
        float r10271 = r10270 - r10175;
        float r10272 = r10166 * r10147;
        float r10273 = r10272 - r10234;
        float r10274 = r10271 * r10273;
        float r10275 = r10154 * r10153;
        float r10276 = r10157 * r10156;
        float r10277 = r10275 - r10276;
        float r10278 = r10152 * r10277;
        float r10279 = r10274 - r10278;
        float r10280 = r10269 - r10279;
        float r10281 = r10264 + r10280;
        float r10282 = 2.991220505174322e+277;
        bool r10283 = r10209 <= r10282;
        float r10284 = r10155 - r10276;
        float r10285 = r10150 * r10149;
        float r10286 = r10148 - r10285;
        float r10287 = r10154 * r10161;
        float r10288 = r10287 - r10164;
        float r10289 = fma(r10288, r10213, r10220);
        float r10290 = r10272 - r10178;
        float r10291 = r10176 * r10290;
        float r10292 = r10227 + r10291;
        float r10293 = r10289 - r10292;
        float r10294 = fma(r10284, r10286, r10293);
        float r10295 = r10283 ? r10209 : r10294;
        float r10296 = r10262 ? r10281 : r10295;
        float r10297 = r10249 ? r10260 : r10296;
        float r10298 = r10211 ? r10247 : r10297;
        return r10298;
}

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 r10299 = k;
        double r10300 = y2;
        double r10301 = r10299 * r10300;
        double r10302 = j;
        double r10303 = y3;
        double r10304 = r10302 * r10303;
        double r10305 = r10301 - r10304;
        double r10306 = y1;
        double r10307 = y4;
        double r10308 = r10306 * r10307;
        double r10309 = y0;
        double r10310 = y5;
        double r10311 = r10309 * r10310;
        double r10312 = r10308 - r10311;
        double r10313 = r10305 * r10312;
        double r10314 = b;
        double r10315 = r10314 * r10307;
        double r10316 = i;
        double r10317 = r10316 * r10310;
        double r10318 = r10315 - r10317;
        double r10319 = t;
        double r10320 = r10319 * r10302;
        double r10321 = y;
        double r10322 = r10321 * r10299;
        double r10323 = r10320 - r10322;
        double r10324 = r10318 * r10323;
        double r10325 = c;
        double r10326 = r10325 * r10307;
        double r10327 = a;
        double r10328 = r10310 * r10327;
        double r10329 = r10326 - r10328;
        double r10330 = r10300 * r10319;
        double r10331 = r10303 * r10321;
        double r10332 = r10330 - r10331;
        double r10333 = r10329 * r10332;
        double r10334 = r10324 - r10333;
        double r10335 = r10313 + r10334;
        double r10336 = x;
        double r10337 = r10336 * r10300;
        double r10338 = z;
        double r10339 = r10303 * r10338;
        double r10340 = r10337 - r10339;
        double r10341 = r10309 * r10325;
        double r10342 = r10306 * r10327;
        double r10343 = r10341 - r10342;
        double r10344 = r10325 * r10319;
        double r10345 = r10338 * r10316;
        double r10346 = r10344 * r10345;
        double r10347 = fma(r10340, r10343, r10346);
        double r10348 = r10336 * r10302;
        double r10349 = r10338 * r10299;
        double r10350 = r10348 - r10349;
        double r10351 = r10314 * r10309;
        double r10352 = r10306 * r10316;
        double r10353 = r10351 - r10352;
        double r10354 = r10325 * r10321;
        double r10355 = r10336 * r10354;
        double r10356 = r10319 * r10314;
        double r10357 = r10327 * r10338;
        double r10358 = r10356 * r10357;
        double r10359 = fma(r10355, r10316, r10358);
        double r10360 = fma(r10350, r10353, r10359);
        double r10361 = r10347 - r10360;
        double r10362 = r10335 + r10361;
        double r10363 = -7.851315540843156e+287;
        bool r10364 = r10362 <= r10363;
        double r10365 = r10299 * r10321;
        double r10366 = r10320 - r10365;
        double r10367 = r10327 * r10314;
        double r10368 = r10325 * r10316;
        double r10369 = r10367 - r10368;
        double r10370 = r10336 * r10321;
        double r10371 = r10338 * r10319;
        double r10372 = r10370 - r10371;
        double r10373 = r10369 * r10372;
        double r10374 = fma(r10366, r10318, r10373);
        double r10375 = r10309 * r10314;
        double r10376 = r10316 * r10306;
        double r10377 = r10375 - r10376;
        double r10378 = r10302 * r10336;
        double r10379 = r10378 - r10349;
        double r10380 = r10377 * r10379;
        double r10381 = r10300 * r10336;
        double r10382 = r10338 * r10303;
        double r10383 = r10381 - r10382;
        double r10384 = r10383 * r10343;
        double r10385 = r10380 - r10384;
        double r10386 = r10374 - r10385;
        double r10387 = r10321 * r10303;
        double r10388 = r10330 - r10387;
        double r10389 = r10327 * r10310;
        double r10390 = r10326 - r10389;
        double r10391 = r10388 * r10390;
        double r10392 = r10300 * r10299;
        double r10393 = r10304 - r10392;
        double r10394 = r10311 * r10393;
        double r10395 = r10391 - r10394;
        double r10396 = r10307 * r10302;
        double r10397 = r10303 * r10306;
        double r10398 = r10396 * r10397;
        double r10399 = r10395 + r10398;
        double r10400 = r10386 - r10399;
        double r10401 = -8.358568131790281e+185;
        bool r10402 = r10362 <= r10401;
        double r10403 = r10338 * r10325;
        double r10404 = r10319 * r10316;
        double r10405 = r10403 * r10404;
        double r10406 = fma(r10340, r10343, r10405);
        double r10407 = r10319 * r10338;
        double r10408 = r10367 * r10407;
        double r10409 = fma(r10355, r10316, r10408);
        double r10410 = fma(r10350, r10353, r10409);
        double r10411 = r10406 - r10410;
        double r10412 = r10334 + r10313;
        double r10413 = r10411 + r10412;
        double r10414 = 1.1109091287307456e+203;
        bool r10415 = r10362 <= r10414;
        double r10416 = fma(r10318, r10366, r10373);
        double r10417 = r10416 - r10380;
        double r10418 = r10382 - r10381;
        double r10419 = r10306 * r10418;
        double r10420 = -r10341;
        double r10421 = r10382 * r10420;
        double r10422 = fma(r10327, r10419, r10421);
        double r10423 = r10307 * r10325;
        double r10424 = r10423 - r10328;
        double r10425 = r10319 * r10300;
        double r10426 = r10425 - r10387;
        double r10427 = r10424 * r10426;
        double r10428 = r10307 * r10306;
        double r10429 = r10310 * r10309;
        double r10430 = r10428 - r10429;
        double r10431 = r10305 * r10430;
        double r10432 = r10427 - r10431;
        double r10433 = r10422 - r10432;
        double r10434 = r10417 + r10433;
        double r10435 = 2.991220505174322e+277;
        bool r10436 = r10362 <= r10435;
        double r10437 = r10308 - r10429;
        double r10438 = r10303 * r10302;
        double r10439 = r10301 - r10438;
        double r10440 = r10307 * r10314;
        double r10441 = r10440 - r10317;
        double r10442 = fma(r10441, r10366, r10373);
        double r10443 = r10425 - r10331;
        double r10444 = r10329 * r10443;
        double r10445 = r10380 + r10444;
        double r10446 = r10442 - r10445;
        double r10447 = fma(r10437, r10439, r10446);
        double r10448 = r10436 ? r10362 : r10447;
        double r10449 = r10415 ? r10434 : r10448;
        double r10450 = r10402 ? r10413 : r10449;
        double r10451 = r10364 ? r10400 : r10450;
        return r10451;
}

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 r10452, r10453, r10454, r10455, r10456, r10457, r10458, r10459, r10460, r10461, r10462, r10463, r10464, r10465, r10466, r10467, r10468, r10469, r10470, r10471, r10472, r10473, r10474, r10475, r10476, r10477, r10478, r10479, r10480, r10481, r10482, r10483, r10484, r10485, r10486, r10487, r10488, r10489, r10490, r10491, r10492, r10493, r10494, r10495, r10496, r10497, r10498, r10499, r10500, r10501, r10502, r10503, r10504, r10505, r10506, r10507, r10508, r10509, r10510, r10511, r10512, r10513, r10514;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r10452);
        mpfr_init(r10453);
        mpfr_init(r10454);
        mpfr_init(r10455);
        mpfr_init(r10456);
        mpfr_init(r10457);
        mpfr_init(r10458);
        mpfr_init(r10459);
        mpfr_init(r10460);
        mpfr_init(r10461);
        mpfr_init(r10462);
        mpfr_init(r10463);
        mpfr_init(r10464);
        mpfr_init(r10465);
        mpfr_init(r10466);
        mpfr_init(r10467);
        mpfr_init(r10468);
        mpfr_init(r10469);
        mpfr_init(r10470);
        mpfr_init(r10471);
        mpfr_init(r10472);
        mpfr_init(r10473);
        mpfr_init(r10474);
        mpfr_init(r10475);
        mpfr_init(r10476);
        mpfr_init(r10477);
        mpfr_init(r10478);
        mpfr_init(r10479);
        mpfr_init(r10480);
        mpfr_init(r10481);
        mpfr_init(r10482);
        mpfr_init(r10483);
        mpfr_init(r10484);
        mpfr_init(r10485);
        mpfr_init(r10486);
        mpfr_init(r10487);
        mpfr_init(r10488);
        mpfr_init(r10489);
        mpfr_init(r10490);
        mpfr_init(r10491);
        mpfr_init(r10492);
        mpfr_init(r10493);
        mpfr_init(r10494);
        mpfr_init(r10495);
        mpfr_init(r10496);
        mpfr_init(r10497);
        mpfr_init(r10498);
        mpfr_init(r10499);
        mpfr_init(r10500);
        mpfr_init(r10501);
        mpfr_init(r10502);
        mpfr_init(r10503);
        mpfr_init(r10504);
        mpfr_init(r10505);
        mpfr_init(r10506);
        mpfr_init(r10507);
        mpfr_init(r10508);
        mpfr_init(r10509);
        mpfr_init(r10510);
        mpfr_init(r10511);
        mpfr_init(r10512);
        mpfr_init(r10513);
        mpfr_init(r10514);
}

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(r10452, x, MPFR_RNDN);
        mpfr_set_d(r10453, y, MPFR_RNDN);
        mpfr_mul(r10454, r10452, r10453, MPFR_RNDN);
        mpfr_set_d(r10455, z, MPFR_RNDN);
        mpfr_set_d(r10456, t, MPFR_RNDN);
        mpfr_mul(r10457, r10455, r10456, MPFR_RNDN);
        mpfr_sub(r10458, r10454, r10457, MPFR_RNDN);
        mpfr_set_d(r10459, a, MPFR_RNDN);
        mpfr_set_d(r10460, b, MPFR_RNDN);
        mpfr_mul(r10461, r10459, r10460, MPFR_RNDN);
        mpfr_set_d(r10462, c, MPFR_RNDN);
        mpfr_set_d(r10463, i, MPFR_RNDN);
        mpfr_mul(r10464, r10462, r10463, MPFR_RNDN);
        mpfr_sub(r10465, r10461, r10464, MPFR_RNDN);
        mpfr_mul(r10466, r10458, r10465, MPFR_RNDN);
        mpfr_set_d(r10467, j, MPFR_RNDN);
        mpfr_mul(r10468, r10452, r10467, MPFR_RNDN);
        mpfr_set_d(r10469, k, MPFR_RNDN);
        mpfr_mul(r10470, r10455, r10469, MPFR_RNDN);
        mpfr_sub(r10471, r10468, r10470, MPFR_RNDN);
        mpfr_set_d(r10472, y0, MPFR_RNDN);
        mpfr_mul(r10473, r10472, r10460, MPFR_RNDN);
        mpfr_set_d(r10474, y1, MPFR_RNDN);
        mpfr_mul(r10475, r10474, r10463, MPFR_RNDN);
        mpfr_sub(r10476, r10473, r10475, MPFR_RNDN);
        mpfr_mul(r10477, r10471, r10476, MPFR_RNDN);
        mpfr_sub(r10478, r10466, r10477, MPFR_RNDN);
        mpfr_set_d(r10479, y2, MPFR_RNDN);
        mpfr_mul(r10480, r10452, r10479, MPFR_RNDN);
        mpfr_set_d(r10481, y3, MPFR_RNDN);
        mpfr_mul(r10482, r10455, r10481, MPFR_RNDN);
        mpfr_sub(r10483, r10480, r10482, MPFR_RNDN);
        mpfr_mul(r10484, r10472, r10462, MPFR_RNDN);
        mpfr_mul(r10485, r10474, r10459, MPFR_RNDN);
        mpfr_sub(r10486, r10484, r10485, MPFR_RNDN);
        mpfr_mul(r10487, r10483, r10486, MPFR_RNDN);
        mpfr_add(r10488, r10478, r10487, MPFR_RNDN);
        mpfr_mul(r10489, r10456, r10467, MPFR_RNDN);
        mpfr_mul(r10490, r10453, r10469, MPFR_RNDN);
        mpfr_sub(r10491, r10489, r10490, MPFR_RNDN);
        mpfr_set_d(r10492, y4, MPFR_RNDN);
        mpfr_mul(r10493, r10492, r10460, MPFR_RNDN);
        mpfr_set_d(r10494, y5, MPFR_RNDN);
        mpfr_mul(r10495, r10494, r10463, MPFR_RNDN);
        mpfr_sub(r10496, r10493, r10495, MPFR_RNDN);
        mpfr_mul(r10497, r10491, r10496, MPFR_RNDN);
        mpfr_add(r10498, r10488, r10497, MPFR_RNDN);
        mpfr_mul(r10499, r10456, r10479, MPFR_RNDN);
        mpfr_mul(r10500, r10453, r10481, MPFR_RNDN);
        mpfr_sub(r10501, r10499, r10500, MPFR_RNDN);
        mpfr_mul(r10502, r10492, r10462, MPFR_RNDN);
        mpfr_mul(r10503, r10494, r10459, MPFR_RNDN);
        mpfr_sub(r10504, r10502, r10503, MPFR_RNDN);
        mpfr_mul(r10505, r10501, r10504, MPFR_RNDN);
        mpfr_sub(r10506, r10498, r10505, MPFR_RNDN);
        mpfr_mul(r10507, r10469, r10479, MPFR_RNDN);
        mpfr_mul(r10508, r10467, r10481, MPFR_RNDN);
        mpfr_sub(r10509, r10507, r10508, MPFR_RNDN);
        mpfr_mul(r10510, r10492, r10474, MPFR_RNDN);
        mpfr_mul(r10511, r10494, r10472, MPFR_RNDN);
        mpfr_sub(r10512, r10510, r10511, MPFR_RNDN);
        mpfr_mul(r10513, r10509, r10512, MPFR_RNDN);
        mpfr_add(r10514, r10506, r10513, MPFR_RNDN);
        return mpfr_get_d(r10514, MPFR_RNDN);
}

static mpfr_t r10515, r10516, r10517, r10518, r10519, r10520, r10521, r10522, r10523, r10524, r10525, r10526, r10527, r10528, r10529, r10530, r10531, r10532, r10533, r10534, r10535, r10536, r10537, r10538, r10539, r10540, r10541, r10542, r10543, r10544, r10545, r10546, r10547, r10548, r10549, r10550, r10551, r10552, r10553, r10554, r10555, r10556, r10557, r10558, r10559, r10560, r10561, r10562, r10563, r10564, r10565, r10566, r10567, r10568, r10569, r10570, r10571, r10572, r10573, r10574, r10575, r10576, r10577, r10578, r10579, r10580, r10581, r10582, r10583, r10584, r10585, r10586, r10587, r10588, r10589, r10590, r10591, r10592, r10593, r10594, r10595, r10596, r10597, r10598, r10599, r10600, r10601, r10602, r10603, r10604, r10605, r10606, r10607, r10608, r10609, r10610, r10611, r10612, r10613, r10614, r10615, r10616, r10617, r10618, r10619, r10620, r10621, r10622, r10623, r10624, r10625, r10626, r10627, r10628, r10629, r10630, r10631, r10632, r10633, r10634, r10635, r10636, r10637, r10638, r10639, r10640, r10641, r10642, r10643, r10644, r10645, r10646, r10647, r10648, r10649, r10650, r10651, r10652, r10653, r10654, r10655, r10656, r10657, r10658, r10659, r10660, r10661, r10662, r10663, r10664, r10665, r10666, r10667;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r10515);
        mpfr_init(r10516);
        mpfr_init(r10517);
        mpfr_init(r10518);
        mpfr_init(r10519);
        mpfr_init(r10520);
        mpfr_init(r10521);
        mpfr_init(r10522);
        mpfr_init(r10523);
        mpfr_init(r10524);
        mpfr_init(r10525);
        mpfr_init(r10526);
        mpfr_init(r10527);
        mpfr_init(r10528);
        mpfr_init(r10529);
        mpfr_init(r10530);
        mpfr_init(r10531);
        mpfr_init(r10532);
        mpfr_init(r10533);
        mpfr_init(r10534);
        mpfr_init(r10535);
        mpfr_init(r10536);
        mpfr_init(r10537);
        mpfr_init(r10538);
        mpfr_init(r10539);
        mpfr_init(r10540);
        mpfr_init(r10541);
        mpfr_init(r10542);
        mpfr_init(r10543);
        mpfr_init(r10544);
        mpfr_init(r10545);
        mpfr_init(r10546);
        mpfr_init(r10547);
        mpfr_init(r10548);
        mpfr_init(r10549);
        mpfr_init(r10550);
        mpfr_init(r10551);
        mpfr_init(r10552);
        mpfr_init(r10553);
        mpfr_init(r10554);
        mpfr_init(r10555);
        mpfr_init(r10556);
        mpfr_init(r10557);
        mpfr_init(r10558);
        mpfr_init(r10559);
        mpfr_init(r10560);
        mpfr_init(r10561);
        mpfr_init(r10562);
        mpfr_init(r10563);
        mpfr_init(r10564);
        mpfr_init(r10565);
        mpfr_init(r10566);
        mpfr_init(r10567);
        mpfr_init(r10568);
        mpfr_init(r10569);
        mpfr_init(r10570);
        mpfr_init(r10571);
        mpfr_init(r10572);
        mpfr_init(r10573);
        mpfr_init(r10574);
        mpfr_init(r10575);
        mpfr_init(r10576);
        mpfr_init(r10577);
        mpfr_init(r10578);
        mpfr_init_set_str(r10579, "-7.851315540843156e+287", 10, MPFR_RNDN);
        mpfr_init(r10580);
        mpfr_init(r10581);
        mpfr_init(r10582);
        mpfr_init(r10583);
        mpfr_init(r10584);
        mpfr_init(r10585);
        mpfr_init(r10586);
        mpfr_init(r10587);
        mpfr_init(r10588);
        mpfr_init(r10589);
        mpfr_init(r10590);
        mpfr_init(r10591);
        mpfr_init(r10592);
        mpfr_init(r10593);
        mpfr_init(r10594);
        mpfr_init(r10595);
        mpfr_init(r10596);
        mpfr_init(r10597);
        mpfr_init(r10598);
        mpfr_init(r10599);
        mpfr_init(r10600);
        mpfr_init(r10601);
        mpfr_init(r10602);
        mpfr_init(r10603);
        mpfr_init(r10604);
        mpfr_init(r10605);
        mpfr_init(r10606);
        mpfr_init(r10607);
        mpfr_init(r10608);
        mpfr_init(r10609);
        mpfr_init(r10610);
        mpfr_init(r10611);
        mpfr_init(r10612);
        mpfr_init(r10613);
        mpfr_init(r10614);
        mpfr_init(r10615);
        mpfr_init(r10616);
        mpfr_init_set_str(r10617, "-8.358568131790281e+185", 10, MPFR_RNDN);
        mpfr_init(r10618);
        mpfr_init(r10619);
        mpfr_init(r10620);
        mpfr_init(r10621);
        mpfr_init(r10622);
        mpfr_init(r10623);
        mpfr_init(r10624);
        mpfr_init(r10625);
        mpfr_init(r10626);
        mpfr_init(r10627);
        mpfr_init(r10628);
        mpfr_init(r10629);
        mpfr_init_set_str(r10630, "1.1109091287307456e+203", 10, MPFR_RNDN);
        mpfr_init(r10631);
        mpfr_init(r10632);
        mpfr_init(r10633);
        mpfr_init(r10634);
        mpfr_init(r10635);
        mpfr_init(r10636);
        mpfr_init(r10637);
        mpfr_init(r10638);
        mpfr_init(r10639);
        mpfr_init(r10640);
        mpfr_init(r10641);
        mpfr_init(r10642);
        mpfr_init(r10643);
        mpfr_init(r10644);
        mpfr_init(r10645);
        mpfr_init(r10646);
        mpfr_init(r10647);
        mpfr_init(r10648);
        mpfr_init(r10649);
        mpfr_init(r10650);
        mpfr_init_set_str(r10651, "2.991220505174322e+277", 10, MPFR_RNDN);
        mpfr_init(r10652);
        mpfr_init(r10653);
        mpfr_init(r10654);
        mpfr_init(r10655);
        mpfr_init(r10656);
        mpfr_init(r10657);
        mpfr_init(r10658);
        mpfr_init(r10659);
        mpfr_init(r10660);
        mpfr_init(r10661);
        mpfr_init(r10662);
        mpfr_init(r10663);
        mpfr_init(r10664);
        mpfr_init(r10665);
        mpfr_init(r10666);
        mpfr_init(r10667);
}

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(r10515, k, MPFR_RNDN);
        mpfr_set_d(r10516, y2, MPFR_RNDN);
        mpfr_mul(r10517, r10515, r10516, MPFR_RNDN);
        mpfr_set_d(r10518, j, MPFR_RNDN);
        mpfr_set_d(r10519, y3, MPFR_RNDN);
        mpfr_mul(r10520, r10518, r10519, MPFR_RNDN);
        mpfr_sub(r10521, r10517, r10520, MPFR_RNDN);
        mpfr_set_d(r10522, y1, MPFR_RNDN);
        mpfr_set_d(r10523, y4, MPFR_RNDN);
        mpfr_mul(r10524, r10522, r10523, MPFR_RNDN);
        mpfr_set_d(r10525, y0, MPFR_RNDN);
        mpfr_set_d(r10526, y5, MPFR_RNDN);
        mpfr_mul(r10527, r10525, r10526, MPFR_RNDN);
        mpfr_sub(r10528, r10524, r10527, MPFR_RNDN);
        mpfr_mul(r10529, r10521, r10528, MPFR_RNDN);
        mpfr_set_d(r10530, b, MPFR_RNDN);
        mpfr_mul(r10531, r10530, r10523, MPFR_RNDN);
        mpfr_set_d(r10532, i, MPFR_RNDN);
        mpfr_mul(r10533, r10532, r10526, MPFR_RNDN);
        mpfr_sub(r10534, r10531, r10533, MPFR_RNDN);
        mpfr_set_d(r10535, t, MPFR_RNDN);
        mpfr_mul(r10536, r10535, r10518, MPFR_RNDN);
        mpfr_set_d(r10537, y, MPFR_RNDN);
        mpfr_mul(r10538, r10537, r10515, MPFR_RNDN);
        mpfr_sub(r10539, r10536, r10538, MPFR_RNDN);
        mpfr_mul(r10540, r10534, r10539, MPFR_RNDN);
        mpfr_set_d(r10541, c, MPFR_RNDN);
        mpfr_mul(r10542, r10541, r10523, MPFR_RNDN);
        mpfr_set_d(r10543, a, MPFR_RNDN);
        mpfr_mul(r10544, r10526, r10543, MPFR_RNDN);
        mpfr_sub(r10545, r10542, r10544, MPFR_RNDN);
        mpfr_mul(r10546, r10516, r10535, MPFR_RNDN);
        mpfr_mul(r10547, r10519, r10537, MPFR_RNDN);
        mpfr_sub(r10548, r10546, r10547, MPFR_RNDN);
        mpfr_mul(r10549, r10545, r10548, MPFR_RNDN);
        mpfr_sub(r10550, r10540, r10549, MPFR_RNDN);
        mpfr_add(r10551, r10529, r10550, MPFR_RNDN);
        mpfr_set_d(r10552, x, MPFR_RNDN);
        mpfr_mul(r10553, r10552, r10516, MPFR_RNDN);
        mpfr_set_d(r10554, z, MPFR_RNDN);
        mpfr_mul(r10555, r10519, r10554, MPFR_RNDN);
        mpfr_sub(r10556, r10553, r10555, MPFR_RNDN);
        mpfr_mul(r10557, r10525, r10541, MPFR_RNDN);
        mpfr_mul(r10558, r10522, r10543, MPFR_RNDN);
        mpfr_sub(r10559, r10557, r10558, MPFR_RNDN);
        mpfr_mul(r10560, r10541, r10535, MPFR_RNDN);
        mpfr_mul(r10561, r10554, r10532, MPFR_RNDN);
        mpfr_mul(r10562, r10560, r10561, MPFR_RNDN);
        mpfr_fma(r10563, r10556, r10559, r10562, MPFR_RNDN);
        mpfr_mul(r10564, r10552, r10518, MPFR_RNDN);
        mpfr_mul(r10565, r10554, r10515, MPFR_RNDN);
        mpfr_sub(r10566, r10564, r10565, MPFR_RNDN);
        mpfr_mul(r10567, r10530, r10525, MPFR_RNDN);
        mpfr_mul(r10568, r10522, r10532, MPFR_RNDN);
        mpfr_sub(r10569, r10567, r10568, MPFR_RNDN);
        mpfr_mul(r10570, r10541, r10537, MPFR_RNDN);
        mpfr_mul(r10571, r10552, r10570, MPFR_RNDN);
        mpfr_mul(r10572, r10535, r10530, MPFR_RNDN);
        mpfr_mul(r10573, r10543, r10554, MPFR_RNDN);
        mpfr_mul(r10574, r10572, r10573, MPFR_RNDN);
        mpfr_fma(r10575, r10571, r10532, r10574, MPFR_RNDN);
        mpfr_fma(r10576, r10566, r10569, r10575, MPFR_RNDN);
        mpfr_sub(r10577, r10563, r10576, MPFR_RNDN);
        mpfr_add(r10578, r10551, r10577, MPFR_RNDN);
        ;
        mpfr_set_si(r10580, mpfr_cmp(r10578, r10579) <= 0, MPFR_RNDN);
        mpfr_mul(r10581, r10515, r10537, MPFR_RNDN);
        mpfr_sub(r10582, r10536, r10581, MPFR_RNDN);
        mpfr_mul(r10583, r10543, r10530, MPFR_RNDN);
        mpfr_mul(r10584, r10541, r10532, MPFR_RNDN);
        mpfr_sub(r10585, r10583, r10584, MPFR_RNDN);
        mpfr_mul(r10586, r10552, r10537, MPFR_RNDN);
        mpfr_mul(r10587, r10554, r10535, MPFR_RNDN);
        mpfr_sub(r10588, r10586, r10587, MPFR_RNDN);
        mpfr_mul(r10589, r10585, r10588, MPFR_RNDN);
        mpfr_fma(r10590, r10582, r10534, r10589, MPFR_RNDN);
        mpfr_mul(r10591, r10525, r10530, MPFR_RNDN);
        mpfr_mul(r10592, r10532, r10522, MPFR_RNDN);
        mpfr_sub(r10593, r10591, r10592, MPFR_RNDN);
        mpfr_mul(r10594, r10518, r10552, MPFR_RNDN);
        mpfr_sub(r10595, r10594, r10565, MPFR_RNDN);
        mpfr_mul(r10596, r10593, r10595, MPFR_RNDN);
        mpfr_mul(r10597, r10516, r10552, MPFR_RNDN);
        mpfr_mul(r10598, r10554, r10519, MPFR_RNDN);
        mpfr_sub(r10599, r10597, r10598, MPFR_RNDN);
        mpfr_mul(r10600, r10599, r10559, MPFR_RNDN);
        mpfr_sub(r10601, r10596, r10600, MPFR_RNDN);
        mpfr_sub(r10602, r10590, r10601, MPFR_RNDN);
        mpfr_mul(r10603, r10537, r10519, MPFR_RNDN);
        mpfr_sub(r10604, r10546, r10603, MPFR_RNDN);
        mpfr_mul(r10605, r10543, r10526, MPFR_RNDN);
        mpfr_sub(r10606, r10542, r10605, MPFR_RNDN);
        mpfr_mul(r10607, r10604, r10606, MPFR_RNDN);
        mpfr_mul(r10608, r10516, r10515, MPFR_RNDN);
        mpfr_sub(r10609, r10520, r10608, MPFR_RNDN);
        mpfr_mul(r10610, r10527, r10609, MPFR_RNDN);
        mpfr_sub(r10611, r10607, r10610, MPFR_RNDN);
        mpfr_mul(r10612, r10523, r10518, MPFR_RNDN);
        mpfr_mul(r10613, r10519, r10522, MPFR_RNDN);
        mpfr_mul(r10614, r10612, r10613, MPFR_RNDN);
        mpfr_add(r10615, r10611, r10614, MPFR_RNDN);
        mpfr_sub(r10616, r10602, r10615, MPFR_RNDN);
        ;
        mpfr_set_si(r10618, mpfr_cmp(r10578, r10617) <= 0, MPFR_RNDN);
        mpfr_mul(r10619, r10554, r10541, MPFR_RNDN);
        mpfr_mul(r10620, r10535, r10532, MPFR_RNDN);
        mpfr_mul(r10621, r10619, r10620, MPFR_RNDN);
        mpfr_fma(r10622, r10556, r10559, r10621, MPFR_RNDN);
        mpfr_mul(r10623, r10535, r10554, MPFR_RNDN);
        mpfr_mul(r10624, r10583, r10623, MPFR_RNDN);
        mpfr_fma(r10625, r10571, r10532, r10624, MPFR_RNDN);
        mpfr_fma(r10626, r10566, r10569, r10625, MPFR_RNDN);
        mpfr_sub(r10627, r10622, r10626, MPFR_RNDN);
        mpfr_add(r10628, r10550, r10529, MPFR_RNDN);
        mpfr_add(r10629, r10627, r10628, MPFR_RNDN);
        ;
        mpfr_set_si(r10631, mpfr_cmp(r10578, r10630) <= 0, MPFR_RNDN);
        mpfr_fma(r10632, r10534, r10582, r10589, MPFR_RNDN);
        mpfr_sub(r10633, r10632, r10596, MPFR_RNDN);
        mpfr_sub(r10634, r10598, r10597, MPFR_RNDN);
        mpfr_mul(r10635, r10522, r10634, MPFR_RNDN);
        mpfr_neg(r10636, r10557, MPFR_RNDN);
        mpfr_mul(r10637, r10598, r10636, MPFR_RNDN);
        mpfr_fma(r10638, r10543, r10635, r10637, MPFR_RNDN);
        mpfr_mul(r10639, r10523, r10541, MPFR_RNDN);
        mpfr_sub(r10640, r10639, r10544, MPFR_RNDN);
        mpfr_mul(r10641, r10535, r10516, MPFR_RNDN);
        mpfr_sub(r10642, r10641, r10603, MPFR_RNDN);
        mpfr_mul(r10643, r10640, r10642, MPFR_RNDN);
        mpfr_mul(r10644, r10523, r10522, MPFR_RNDN);
        mpfr_mul(r10645, r10526, r10525, MPFR_RNDN);
        mpfr_sub(r10646, r10644, r10645, MPFR_RNDN);
        mpfr_mul(r10647, r10521, r10646, MPFR_RNDN);
        mpfr_sub(r10648, r10643, r10647, MPFR_RNDN);
        mpfr_sub(r10649, r10638, r10648, MPFR_RNDN);
        mpfr_add(r10650, r10633, r10649, MPFR_RNDN);
        ;
        mpfr_set_si(r10652, mpfr_cmp(r10578, r10651) <= 0, MPFR_RNDN);
        mpfr_sub(r10653, r10524, r10645, MPFR_RNDN);
        mpfr_mul(r10654, r10519, r10518, MPFR_RNDN);
        mpfr_sub(r10655, r10517, r10654, MPFR_RNDN);
        mpfr_mul(r10656, r10523, r10530, MPFR_RNDN);
        mpfr_sub(r10657, r10656, r10533, MPFR_RNDN);
        mpfr_fma(r10658, r10657, r10582, r10589, MPFR_RNDN);
        mpfr_sub(r10659, r10641, r10547, MPFR_RNDN);
        mpfr_mul(r10660, r10545, r10659, MPFR_RNDN);
        mpfr_add(r10661, r10596, r10660, MPFR_RNDN);
        mpfr_sub(r10662, r10658, r10661, MPFR_RNDN);
        mpfr_fma(r10663, r10653, r10655, r10662, MPFR_RNDN);
        if (mpfr_get_si(r10652, MPFR_RNDN)) { mpfr_set(r10664, r10578, MPFR_RNDN); } else { mpfr_set(r10664, r10663, MPFR_RNDN); };
        if (mpfr_get_si(r10631, MPFR_RNDN)) { mpfr_set(r10665, r10650, MPFR_RNDN); } else { mpfr_set(r10665, r10664, MPFR_RNDN); };
        if (mpfr_get_si(r10618, MPFR_RNDN)) { mpfr_set(r10666, r10629, MPFR_RNDN); } else { mpfr_set(r10666, r10665, MPFR_RNDN); };
        if (mpfr_get_si(r10580, MPFR_RNDN)) { mpfr_set(r10667, r10616, MPFR_RNDN); } else { mpfr_set(r10667, r10666, MPFR_RNDN); };
        return mpfr_get_d(r10667, MPFR_RNDN);
}

static mpfr_t r10668, r10669, r10670, r10671, r10672, r10673, r10674, r10675, r10676, r10677, r10678, r10679, r10680, r10681, r10682, r10683, r10684, r10685, r10686, r10687, r10688, r10689, r10690, r10691, r10692, r10693, r10694, r10695, r10696, r10697, r10698, r10699, r10700, r10701, r10702, r10703, r10704, r10705, r10706, r10707, r10708, r10709, r10710, r10711, r10712, r10713, r10714, r10715, r10716, r10717, r10718, r10719, r10720, r10721, r10722, r10723, r10724, r10725, r10726, r10727, r10728, r10729, r10730, r10731, r10732, r10733, r10734, r10735, r10736, r10737, r10738, r10739, r10740, r10741, r10742, r10743, r10744, r10745, r10746, r10747, r10748, r10749, r10750, r10751, r10752, r10753, r10754, r10755, r10756, r10757, r10758, r10759, r10760, r10761, r10762, r10763, r10764, r10765, r10766, r10767, r10768, r10769, r10770, r10771, r10772, r10773, r10774, r10775, r10776, r10777, r10778, r10779, r10780, r10781, r10782, r10783, r10784, r10785, r10786, r10787, r10788, r10789, r10790, r10791, r10792, r10793, r10794, r10795, r10796, r10797, r10798, r10799, r10800, r10801, r10802, r10803, r10804, r10805, r10806, r10807, r10808, r10809, r10810, r10811, r10812, r10813, r10814, r10815, r10816, r10817, r10818, r10819, r10820;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r10668);
        mpfr_init(r10669);
        mpfr_init(r10670);
        mpfr_init(r10671);
        mpfr_init(r10672);
        mpfr_init(r10673);
        mpfr_init(r10674);
        mpfr_init(r10675);
        mpfr_init(r10676);
        mpfr_init(r10677);
        mpfr_init(r10678);
        mpfr_init(r10679);
        mpfr_init(r10680);
        mpfr_init(r10681);
        mpfr_init(r10682);
        mpfr_init(r10683);
        mpfr_init(r10684);
        mpfr_init(r10685);
        mpfr_init(r10686);
        mpfr_init(r10687);
        mpfr_init(r10688);
        mpfr_init(r10689);
        mpfr_init(r10690);
        mpfr_init(r10691);
        mpfr_init(r10692);
        mpfr_init(r10693);
        mpfr_init(r10694);
        mpfr_init(r10695);
        mpfr_init(r10696);
        mpfr_init(r10697);
        mpfr_init(r10698);
        mpfr_init(r10699);
        mpfr_init(r10700);
        mpfr_init(r10701);
        mpfr_init(r10702);
        mpfr_init(r10703);
        mpfr_init(r10704);
        mpfr_init(r10705);
        mpfr_init(r10706);
        mpfr_init(r10707);
        mpfr_init(r10708);
        mpfr_init(r10709);
        mpfr_init(r10710);
        mpfr_init(r10711);
        mpfr_init(r10712);
        mpfr_init(r10713);
        mpfr_init(r10714);
        mpfr_init(r10715);
        mpfr_init(r10716);
        mpfr_init(r10717);
        mpfr_init(r10718);
        mpfr_init(r10719);
        mpfr_init(r10720);
        mpfr_init(r10721);
        mpfr_init(r10722);
        mpfr_init(r10723);
        mpfr_init(r10724);
        mpfr_init(r10725);
        mpfr_init(r10726);
        mpfr_init(r10727);
        mpfr_init(r10728);
        mpfr_init(r10729);
        mpfr_init(r10730);
        mpfr_init(r10731);
        mpfr_init_set_str(r10732, "-7.851315540843156e+287", 10, MPFR_RNDN);
        mpfr_init(r10733);
        mpfr_init(r10734);
        mpfr_init(r10735);
        mpfr_init(r10736);
        mpfr_init(r10737);
        mpfr_init(r10738);
        mpfr_init(r10739);
        mpfr_init(r10740);
        mpfr_init(r10741);
        mpfr_init(r10742);
        mpfr_init(r10743);
        mpfr_init(r10744);
        mpfr_init(r10745);
        mpfr_init(r10746);
        mpfr_init(r10747);
        mpfr_init(r10748);
        mpfr_init(r10749);
        mpfr_init(r10750);
        mpfr_init(r10751);
        mpfr_init(r10752);
        mpfr_init(r10753);
        mpfr_init(r10754);
        mpfr_init(r10755);
        mpfr_init(r10756);
        mpfr_init(r10757);
        mpfr_init(r10758);
        mpfr_init(r10759);
        mpfr_init(r10760);
        mpfr_init(r10761);
        mpfr_init(r10762);
        mpfr_init(r10763);
        mpfr_init(r10764);
        mpfr_init(r10765);
        mpfr_init(r10766);
        mpfr_init(r10767);
        mpfr_init(r10768);
        mpfr_init(r10769);
        mpfr_init_set_str(r10770, "-8.358568131790281e+185", 10, MPFR_RNDN);
        mpfr_init(r10771);
        mpfr_init(r10772);
        mpfr_init(r10773);
        mpfr_init(r10774);
        mpfr_init(r10775);
        mpfr_init(r10776);
        mpfr_init(r10777);
        mpfr_init(r10778);
        mpfr_init(r10779);
        mpfr_init(r10780);
        mpfr_init(r10781);
        mpfr_init(r10782);
        mpfr_init_set_str(r10783, "1.1109091287307456e+203", 10, MPFR_RNDN);
        mpfr_init(r10784);
        mpfr_init(r10785);
        mpfr_init(r10786);
        mpfr_init(r10787);
        mpfr_init(r10788);
        mpfr_init(r10789);
        mpfr_init(r10790);
        mpfr_init(r10791);
        mpfr_init(r10792);
        mpfr_init(r10793);
        mpfr_init(r10794);
        mpfr_init(r10795);
        mpfr_init(r10796);
        mpfr_init(r10797);
        mpfr_init(r10798);
        mpfr_init(r10799);
        mpfr_init(r10800);
        mpfr_init(r10801);
        mpfr_init(r10802);
        mpfr_init(r10803);
        mpfr_init_set_str(r10804, "2.991220505174322e+277", 10, MPFR_RNDN);
        mpfr_init(r10805);
        mpfr_init(r10806);
        mpfr_init(r10807);
        mpfr_init(r10808);
        mpfr_init(r10809);
        mpfr_init(r10810);
        mpfr_init(r10811);
        mpfr_init(r10812);
        mpfr_init(r10813);
        mpfr_init(r10814);
        mpfr_init(r10815);
        mpfr_init(r10816);
        mpfr_init(r10817);
        mpfr_init(r10818);
        mpfr_init(r10819);
        mpfr_init(r10820);
}

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(r10668, k, MPFR_RNDN);
        mpfr_set_d(r10669, y2, MPFR_RNDN);
        mpfr_mul(r10670, r10668, r10669, MPFR_RNDN);
        mpfr_set_d(r10671, j, MPFR_RNDN);
        mpfr_set_d(r10672, y3, MPFR_RNDN);
        mpfr_mul(r10673, r10671, r10672, MPFR_RNDN);
        mpfr_sub(r10674, r10670, r10673, MPFR_RNDN);
        mpfr_set_d(r10675, y1, MPFR_RNDN);
        mpfr_set_d(r10676, y4, MPFR_RNDN);
        mpfr_mul(r10677, r10675, r10676, MPFR_RNDN);
        mpfr_set_d(r10678, y0, MPFR_RNDN);
        mpfr_set_d(r10679, y5, MPFR_RNDN);
        mpfr_mul(r10680, r10678, r10679, MPFR_RNDN);
        mpfr_sub(r10681, r10677, r10680, MPFR_RNDN);
        mpfr_mul(r10682, r10674, r10681, MPFR_RNDN);
        mpfr_set_d(r10683, b, MPFR_RNDN);
        mpfr_mul(r10684, r10683, r10676, MPFR_RNDN);
        mpfr_set_d(r10685, i, MPFR_RNDN);
        mpfr_mul(r10686, r10685, r10679, MPFR_RNDN);
        mpfr_sub(r10687, r10684, r10686, MPFR_RNDN);
        mpfr_set_d(r10688, t, MPFR_RNDN);
        mpfr_mul(r10689, r10688, r10671, MPFR_RNDN);
        mpfr_set_d(r10690, y, MPFR_RNDN);
        mpfr_mul(r10691, r10690, r10668, MPFR_RNDN);
        mpfr_sub(r10692, r10689, r10691, MPFR_RNDN);
        mpfr_mul(r10693, r10687, r10692, MPFR_RNDN);
        mpfr_set_d(r10694, c, MPFR_RNDN);
        mpfr_mul(r10695, r10694, r10676, MPFR_RNDN);
        mpfr_set_d(r10696, a, MPFR_RNDN);
        mpfr_mul(r10697, r10679, r10696, MPFR_RNDN);
        mpfr_sub(r10698, r10695, r10697, MPFR_RNDN);
        mpfr_mul(r10699, r10669, r10688, MPFR_RNDN);
        mpfr_mul(r10700, r10672, r10690, MPFR_RNDN);
        mpfr_sub(r10701, r10699, r10700, MPFR_RNDN);
        mpfr_mul(r10702, r10698, r10701, MPFR_RNDN);
        mpfr_sub(r10703, r10693, r10702, MPFR_RNDN);
        mpfr_add(r10704, r10682, r10703, MPFR_RNDN);
        mpfr_set_d(r10705, x, MPFR_RNDN);
        mpfr_mul(r10706, r10705, r10669, MPFR_RNDN);
        mpfr_set_d(r10707, z, MPFR_RNDN);
        mpfr_mul(r10708, r10672, r10707, MPFR_RNDN);
        mpfr_sub(r10709, r10706, r10708, MPFR_RNDN);
        mpfr_mul(r10710, r10678, r10694, MPFR_RNDN);
        mpfr_mul(r10711, r10675, r10696, MPFR_RNDN);
        mpfr_sub(r10712, r10710, r10711, MPFR_RNDN);
        mpfr_mul(r10713, r10694, r10688, MPFR_RNDN);
        mpfr_mul(r10714, r10707, r10685, MPFR_RNDN);
        mpfr_mul(r10715, r10713, r10714, MPFR_RNDN);
        mpfr_fma(r10716, r10709, r10712, r10715, MPFR_RNDN);
        mpfr_mul(r10717, r10705, r10671, MPFR_RNDN);
        mpfr_mul(r10718, r10707, r10668, MPFR_RNDN);
        mpfr_sub(r10719, r10717, r10718, MPFR_RNDN);
        mpfr_mul(r10720, r10683, r10678, MPFR_RNDN);
        mpfr_mul(r10721, r10675, r10685, MPFR_RNDN);
        mpfr_sub(r10722, r10720, r10721, MPFR_RNDN);
        mpfr_mul(r10723, r10694, r10690, MPFR_RNDN);
        mpfr_mul(r10724, r10705, r10723, MPFR_RNDN);
        mpfr_mul(r10725, r10688, r10683, MPFR_RNDN);
        mpfr_mul(r10726, r10696, r10707, MPFR_RNDN);
        mpfr_mul(r10727, r10725, r10726, MPFR_RNDN);
        mpfr_fma(r10728, r10724, r10685, r10727, MPFR_RNDN);
        mpfr_fma(r10729, r10719, r10722, r10728, MPFR_RNDN);
        mpfr_sub(r10730, r10716, r10729, MPFR_RNDN);
        mpfr_add(r10731, r10704, r10730, MPFR_RNDN);
        ;
        mpfr_set_si(r10733, mpfr_cmp(r10731, r10732) <= 0, MPFR_RNDN);
        mpfr_mul(r10734, r10668, r10690, MPFR_RNDN);
        mpfr_sub(r10735, r10689, r10734, MPFR_RNDN);
        mpfr_mul(r10736, r10696, r10683, MPFR_RNDN);
        mpfr_mul(r10737, r10694, r10685, MPFR_RNDN);
        mpfr_sub(r10738, r10736, r10737, MPFR_RNDN);
        mpfr_mul(r10739, r10705, r10690, MPFR_RNDN);
        mpfr_mul(r10740, r10707, r10688, MPFR_RNDN);
        mpfr_sub(r10741, r10739, r10740, MPFR_RNDN);
        mpfr_mul(r10742, r10738, r10741, MPFR_RNDN);
        mpfr_fma(r10743, r10735, r10687, r10742, MPFR_RNDN);
        mpfr_mul(r10744, r10678, r10683, MPFR_RNDN);
        mpfr_mul(r10745, r10685, r10675, MPFR_RNDN);
        mpfr_sub(r10746, r10744, r10745, MPFR_RNDN);
        mpfr_mul(r10747, r10671, r10705, MPFR_RNDN);
        mpfr_sub(r10748, r10747, r10718, MPFR_RNDN);
        mpfr_mul(r10749, r10746, r10748, MPFR_RNDN);
        mpfr_mul(r10750, r10669, r10705, MPFR_RNDN);
        mpfr_mul(r10751, r10707, r10672, MPFR_RNDN);
        mpfr_sub(r10752, r10750, r10751, MPFR_RNDN);
        mpfr_mul(r10753, r10752, r10712, MPFR_RNDN);
        mpfr_sub(r10754, r10749, r10753, MPFR_RNDN);
        mpfr_sub(r10755, r10743, r10754, MPFR_RNDN);
        mpfr_mul(r10756, r10690, r10672, MPFR_RNDN);
        mpfr_sub(r10757, r10699, r10756, MPFR_RNDN);
        mpfr_mul(r10758, r10696, r10679, MPFR_RNDN);
        mpfr_sub(r10759, r10695, r10758, MPFR_RNDN);
        mpfr_mul(r10760, r10757, r10759, MPFR_RNDN);
        mpfr_mul(r10761, r10669, r10668, MPFR_RNDN);
        mpfr_sub(r10762, r10673, r10761, MPFR_RNDN);
        mpfr_mul(r10763, r10680, r10762, MPFR_RNDN);
        mpfr_sub(r10764, r10760, r10763, MPFR_RNDN);
        mpfr_mul(r10765, r10676, r10671, MPFR_RNDN);
        mpfr_mul(r10766, r10672, r10675, MPFR_RNDN);
        mpfr_mul(r10767, r10765, r10766, MPFR_RNDN);
        mpfr_add(r10768, r10764, r10767, MPFR_RNDN);
        mpfr_sub(r10769, r10755, r10768, MPFR_RNDN);
        ;
        mpfr_set_si(r10771, mpfr_cmp(r10731, r10770) <= 0, MPFR_RNDN);
        mpfr_mul(r10772, r10707, r10694, MPFR_RNDN);
        mpfr_mul(r10773, r10688, r10685, MPFR_RNDN);
        mpfr_mul(r10774, r10772, r10773, MPFR_RNDN);
        mpfr_fma(r10775, r10709, r10712, r10774, MPFR_RNDN);
        mpfr_mul(r10776, r10688, r10707, MPFR_RNDN);
        mpfr_mul(r10777, r10736, r10776, MPFR_RNDN);
        mpfr_fma(r10778, r10724, r10685, r10777, MPFR_RNDN);
        mpfr_fma(r10779, r10719, r10722, r10778, MPFR_RNDN);
        mpfr_sub(r10780, r10775, r10779, MPFR_RNDN);
        mpfr_add(r10781, r10703, r10682, MPFR_RNDN);
        mpfr_add(r10782, r10780, r10781, MPFR_RNDN);
        ;
        mpfr_set_si(r10784, mpfr_cmp(r10731, r10783) <= 0, MPFR_RNDN);
        mpfr_fma(r10785, r10687, r10735, r10742, MPFR_RNDN);
        mpfr_sub(r10786, r10785, r10749, MPFR_RNDN);
        mpfr_sub(r10787, r10751, r10750, MPFR_RNDN);
        mpfr_mul(r10788, r10675, r10787, MPFR_RNDN);
        mpfr_neg(r10789, r10710, MPFR_RNDN);
        mpfr_mul(r10790, r10751, r10789, MPFR_RNDN);
        mpfr_fma(r10791, r10696, r10788, r10790, MPFR_RNDN);
        mpfr_mul(r10792, r10676, r10694, MPFR_RNDN);
        mpfr_sub(r10793, r10792, r10697, MPFR_RNDN);
        mpfr_mul(r10794, r10688, r10669, MPFR_RNDN);
        mpfr_sub(r10795, r10794, r10756, MPFR_RNDN);
        mpfr_mul(r10796, r10793, r10795, MPFR_RNDN);
        mpfr_mul(r10797, r10676, r10675, MPFR_RNDN);
        mpfr_mul(r10798, r10679, r10678, MPFR_RNDN);
        mpfr_sub(r10799, r10797, r10798, MPFR_RNDN);
        mpfr_mul(r10800, r10674, r10799, MPFR_RNDN);
        mpfr_sub(r10801, r10796, r10800, MPFR_RNDN);
        mpfr_sub(r10802, r10791, r10801, MPFR_RNDN);
        mpfr_add(r10803, r10786, r10802, MPFR_RNDN);
        ;
        mpfr_set_si(r10805, mpfr_cmp(r10731, r10804) <= 0, MPFR_RNDN);
        mpfr_sub(r10806, r10677, r10798, MPFR_RNDN);
        mpfr_mul(r10807, r10672, r10671, MPFR_RNDN);
        mpfr_sub(r10808, r10670, r10807, MPFR_RNDN);
        mpfr_mul(r10809, r10676, r10683, MPFR_RNDN);
        mpfr_sub(r10810, r10809, r10686, MPFR_RNDN);
        mpfr_fma(r10811, r10810, r10735, r10742, MPFR_RNDN);
        mpfr_sub(r10812, r10794, r10700, MPFR_RNDN);
        mpfr_mul(r10813, r10698, r10812, MPFR_RNDN);
        mpfr_add(r10814, r10749, r10813, MPFR_RNDN);
        mpfr_sub(r10815, r10811, r10814, MPFR_RNDN);
        mpfr_fma(r10816, r10806, r10808, r10815, MPFR_RNDN);
        if (mpfr_get_si(r10805, MPFR_RNDN)) { mpfr_set(r10817, r10731, MPFR_RNDN); } else { mpfr_set(r10817, r10816, MPFR_RNDN); };
        if (mpfr_get_si(r10784, MPFR_RNDN)) { mpfr_set(r10818, r10803, MPFR_RNDN); } else { mpfr_set(r10818, r10817, MPFR_RNDN); };
        if (mpfr_get_si(r10771, MPFR_RNDN)) { mpfr_set(r10819, r10782, MPFR_RNDN); } else { mpfr_set(r10819, r10818, MPFR_RNDN); };
        if (mpfr_get_si(r10733, MPFR_RNDN)) { mpfr_set(r10820, r10769, MPFR_RNDN); } else { mpfr_set(r10820, r10819, MPFR_RNDN); };
        return mpfr_get_d(r10820, MPFR_RNDN);
}

