#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 r17165 = x;
        float r17166 = y;
        float r17167 = r17165 * r17166;
        float r17168 = z;
        float r17169 = t;
        float r17170 = r17168 * r17169;
        float r17171 = r17167 - r17170;
        float r17172 = a;
        float r17173 = b;
        float r17174 = r17172 * r17173;
        float r17175 = c;
        float r17176 = i;
        float r17177 = r17175 * r17176;
        float r17178 = r17174 - r17177;
        float r17179 = r17171 * r17178;
        float r17180 = j;
        float r17181 = r17165 * r17180;
        float r17182 = k;
        float r17183 = r17168 * r17182;
        float r17184 = r17181 - r17183;
        float r17185 = y0;
        float r17186 = r17185 * r17173;
        float r17187 = y1;
        float r17188 = r17187 * r17176;
        float r17189 = r17186 - r17188;
        float r17190 = r17184 * r17189;
        float r17191 = r17179 - r17190;
        float r17192 = y2;
        float r17193 = r17165 * r17192;
        float r17194 = y3;
        float r17195 = r17168 * r17194;
        float r17196 = r17193 - r17195;
        float r17197 = r17185 * r17175;
        float r17198 = r17187 * r17172;
        float r17199 = r17197 - r17198;
        float r17200 = r17196 * r17199;
        float r17201 = r17191 + r17200;
        float r17202 = r17169 * r17180;
        float r17203 = r17166 * r17182;
        float r17204 = r17202 - r17203;
        float r17205 = y4;
        float r17206 = r17205 * r17173;
        float r17207 = y5;
        float r17208 = r17207 * r17176;
        float r17209 = r17206 - r17208;
        float r17210 = r17204 * r17209;
        float r17211 = r17201 + r17210;
        float r17212 = r17169 * r17192;
        float r17213 = r17166 * r17194;
        float r17214 = r17212 - r17213;
        float r17215 = r17205 * r17175;
        float r17216 = r17207 * r17172;
        float r17217 = r17215 - r17216;
        float r17218 = r17214 * r17217;
        float r17219 = r17211 - r17218;
        float r17220 = r17182 * r17192;
        float r17221 = r17180 * r17194;
        float r17222 = r17220 - r17221;
        float r17223 = r17205 * r17187;
        float r17224 = r17207 * r17185;
        float r17225 = r17223 - r17224;
        float r17226 = r17222 * r17225;
        float r17227 = r17219 + r17226;
        return r17227;
}

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 r17228 = x;
        double r17229 = y;
        double r17230 = r17228 * r17229;
        double r17231 = z;
        double r17232 = t;
        double r17233 = r17231 * r17232;
        double r17234 = r17230 - r17233;
        double r17235 = a;
        double r17236 = b;
        double r17237 = r17235 * r17236;
        double r17238 = c;
        double r17239 = i;
        double r17240 = r17238 * r17239;
        double r17241 = r17237 - r17240;
        double r17242 = r17234 * r17241;
        double r17243 = j;
        double r17244 = r17228 * r17243;
        double r17245 = k;
        double r17246 = r17231 * r17245;
        double r17247 = r17244 - r17246;
        double r17248 = y0;
        double r17249 = r17248 * r17236;
        double r17250 = y1;
        double r17251 = r17250 * r17239;
        double r17252 = r17249 - r17251;
        double r17253 = r17247 * r17252;
        double r17254 = r17242 - r17253;
        double r17255 = y2;
        double r17256 = r17228 * r17255;
        double r17257 = y3;
        double r17258 = r17231 * r17257;
        double r17259 = r17256 - r17258;
        double r17260 = r17248 * r17238;
        double r17261 = r17250 * r17235;
        double r17262 = r17260 - r17261;
        double r17263 = r17259 * r17262;
        double r17264 = r17254 + r17263;
        double r17265 = r17232 * r17243;
        double r17266 = r17229 * r17245;
        double r17267 = r17265 - r17266;
        double r17268 = y4;
        double r17269 = r17268 * r17236;
        double r17270 = y5;
        double r17271 = r17270 * r17239;
        double r17272 = r17269 - r17271;
        double r17273 = r17267 * r17272;
        double r17274 = r17264 + r17273;
        double r17275 = r17232 * r17255;
        double r17276 = r17229 * r17257;
        double r17277 = r17275 - r17276;
        double r17278 = r17268 * r17238;
        double r17279 = r17270 * r17235;
        double r17280 = r17278 - r17279;
        double r17281 = r17277 * r17280;
        double r17282 = r17274 - r17281;
        double r17283 = r17245 * r17255;
        double r17284 = r17243 * r17257;
        double r17285 = r17283 - r17284;
        double r17286 = r17268 * r17250;
        double r17287 = r17270 * r17248;
        double r17288 = r17286 - r17287;
        double r17289 = r17285 * r17288;
        double r17290 = r17282 + r17289;
        return r17290;
}


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 r17291 = b;
        float r17292 = a;
        float r17293 = r17291 * r17292;
        float r17294 = i;
        float r17295 = c;
        float r17296 = r17294 * r17295;
        float r17297 = r17293 - r17296;
        float r17298 = y;
        float r17299 = x;
        float r17300 = r17298 * r17299;
        float r17301 = t;
        float r17302 = z;
        float r17303 = r17301 * r17302;
        float r17304 = r17300 - r17303;
        float r17305 = y1;
        float r17306 = y4;
        float r17307 = r17305 * r17306;
        float r17308 = y5;
        float r17309 = y0;
        float r17310 = r17308 * r17309;
        float r17311 = r17307 - r17310;
        float r17312 = y2;
        float r17313 = k;
        float r17314 = r17312 * r17313;
        float r17315 = y3;
        float r17316 = j;
        float r17317 = r17315 * r17316;
        float r17318 = r17314 - r17317;
        float r17319 = r17316 * r17301;
        float r17320 = r17313 * r17298;
        float r17321 = r17319 - r17320;
        float r17322 = r17291 * r17306;
        float r17323 = r17308 * r17294;
        float r17324 = r17322 - r17323;
        float r17325 = r17299 * r17312;
        float r17326 = r17302 * r17315;
        float r17327 = r17325 - r17326;
        float r17328 = r17309 * r17295;
        float r17329 = r17305 * r17292;
        float r17330 = r17328 - r17329;
        float r17331 = r17327 * r17330;
        float r17332 = fma(r17321, r17324, r17331);
        float r17333 = fma(r17311, r17318, r17332);
        float r17334 = fma(r17297, r17304, r17333);
        float r17335 = r17316 * r17299;
        float r17336 = r17313 * r17302;
        float r17337 = r17335 - r17336;
        float r17338 = r17309 * r17291;
        float r17339 = r17305 * r17294;
        float r17340 = r17338 - r17339;
        float r17341 = r17301 * r17312;
        float r17342 = r17298 * r17315;
        float r17343 = r17341 - r17342;
        float r17344 = r17295 * r17306;
        float r17345 = r17292 * r17308;
        float r17346 = r17344 - r17345;
        float r17347 = r17343 * r17346;
        float r17348 = fma(r17337, r17340, r17347);
        float r17349 = -r17348;
        float r17350 = r17334 + r17349;
        return r17350;
}

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 r17351 = b;
        double r17352 = a;
        double r17353 = r17351 * r17352;
        double r17354 = i;
        double r17355 = c;
        double r17356 = r17354 * r17355;
        double r17357 = r17353 - r17356;
        double r17358 = y;
        double r17359 = x;
        double r17360 = r17358 * r17359;
        double r17361 = t;
        double r17362 = z;
        double r17363 = r17361 * r17362;
        double r17364 = r17360 - r17363;
        double r17365 = y1;
        double r17366 = y4;
        double r17367 = r17365 * r17366;
        double r17368 = y5;
        double r17369 = y0;
        double r17370 = r17368 * r17369;
        double r17371 = r17367 - r17370;
        double r17372 = y2;
        double r17373 = k;
        double r17374 = r17372 * r17373;
        double r17375 = y3;
        double r17376 = j;
        double r17377 = r17375 * r17376;
        double r17378 = r17374 - r17377;
        double r17379 = r17376 * r17361;
        double r17380 = r17373 * r17358;
        double r17381 = r17379 - r17380;
        double r17382 = r17351 * r17366;
        double r17383 = r17368 * r17354;
        double r17384 = r17382 - r17383;
        double r17385 = r17359 * r17372;
        double r17386 = r17362 * r17375;
        double r17387 = r17385 - r17386;
        double r17388 = r17369 * r17355;
        double r17389 = r17365 * r17352;
        double r17390 = r17388 - r17389;
        double r17391 = r17387 * r17390;
        double r17392 = fma(r17381, r17384, r17391);
        double r17393 = fma(r17371, r17378, r17392);
        double r17394 = fma(r17357, r17364, r17393);
        double r17395 = r17376 * r17359;
        double r17396 = r17373 * r17362;
        double r17397 = r17395 - r17396;
        double r17398 = r17369 * r17351;
        double r17399 = r17365 * r17354;
        double r17400 = r17398 - r17399;
        double r17401 = r17361 * r17372;
        double r17402 = r17358 * r17375;
        double r17403 = r17401 - r17402;
        double r17404 = r17355 * r17366;
        double r17405 = r17352 * r17368;
        double r17406 = r17404 - r17405;
        double r17407 = r17403 * r17406;
        double r17408 = fma(r17397, r17400, r17407);
        double r17409 = -r17408;
        double r17410 = r17394 + r17409;
        return r17410;
}

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 r17411, r17412, r17413, r17414, r17415, r17416, r17417, r17418, r17419, r17420, r17421, r17422, r17423, r17424, r17425, r17426, r17427, r17428, r17429, r17430, r17431, r17432, r17433, r17434, r17435, r17436, r17437, r17438, r17439, r17440, r17441, r17442, r17443, r17444, r17445, r17446, r17447, r17448, r17449, r17450, r17451, r17452, r17453, r17454, r17455, r17456, r17457, r17458, r17459, r17460, r17461, r17462, r17463, r17464, r17465, r17466, r17467, r17468, r17469, r17470, r17471, r17472, r17473;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r17411);
        mpfr_init(r17412);
        mpfr_init(r17413);
        mpfr_init(r17414);
        mpfr_init(r17415);
        mpfr_init(r17416);
        mpfr_init(r17417);
        mpfr_init(r17418);
        mpfr_init(r17419);
        mpfr_init(r17420);
        mpfr_init(r17421);
        mpfr_init(r17422);
        mpfr_init(r17423);
        mpfr_init(r17424);
        mpfr_init(r17425);
        mpfr_init(r17426);
        mpfr_init(r17427);
        mpfr_init(r17428);
        mpfr_init(r17429);
        mpfr_init(r17430);
        mpfr_init(r17431);
        mpfr_init(r17432);
        mpfr_init(r17433);
        mpfr_init(r17434);
        mpfr_init(r17435);
        mpfr_init(r17436);
        mpfr_init(r17437);
        mpfr_init(r17438);
        mpfr_init(r17439);
        mpfr_init(r17440);
        mpfr_init(r17441);
        mpfr_init(r17442);
        mpfr_init(r17443);
        mpfr_init(r17444);
        mpfr_init(r17445);
        mpfr_init(r17446);
        mpfr_init(r17447);
        mpfr_init(r17448);
        mpfr_init(r17449);
        mpfr_init(r17450);
        mpfr_init(r17451);
        mpfr_init(r17452);
        mpfr_init(r17453);
        mpfr_init(r17454);
        mpfr_init(r17455);
        mpfr_init(r17456);
        mpfr_init(r17457);
        mpfr_init(r17458);
        mpfr_init(r17459);
        mpfr_init(r17460);
        mpfr_init(r17461);
        mpfr_init(r17462);
        mpfr_init(r17463);
        mpfr_init(r17464);
        mpfr_init(r17465);
        mpfr_init(r17466);
        mpfr_init(r17467);
        mpfr_init(r17468);
        mpfr_init(r17469);
        mpfr_init(r17470);
        mpfr_init(r17471);
        mpfr_init(r17472);
        mpfr_init(r17473);
}

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(r17411, x, MPFR_RNDN);
        mpfr_set_d(r17412, y, MPFR_RNDN);
        mpfr_mul(r17413, r17411, r17412, MPFR_RNDN);
        mpfr_set_d(r17414, z, MPFR_RNDN);
        mpfr_set_d(r17415, t, MPFR_RNDN);
        mpfr_mul(r17416, r17414, r17415, MPFR_RNDN);
        mpfr_sub(r17417, r17413, r17416, MPFR_RNDN);
        mpfr_set_d(r17418, a, MPFR_RNDN);
        mpfr_set_d(r17419, b, MPFR_RNDN);
        mpfr_mul(r17420, r17418, r17419, MPFR_RNDN);
        mpfr_set_d(r17421, c, MPFR_RNDN);
        mpfr_set_d(r17422, i, MPFR_RNDN);
        mpfr_mul(r17423, r17421, r17422, MPFR_RNDN);
        mpfr_sub(r17424, r17420, r17423, MPFR_RNDN);
        mpfr_mul(r17425, r17417, r17424, MPFR_RNDN);
        mpfr_set_d(r17426, j, MPFR_RNDN);
        mpfr_mul(r17427, r17411, r17426, MPFR_RNDN);
        mpfr_set_d(r17428, k, MPFR_RNDN);
        mpfr_mul(r17429, r17414, r17428, MPFR_RNDN);
        mpfr_sub(r17430, r17427, r17429, MPFR_RNDN);
        mpfr_set_d(r17431, y0, MPFR_RNDN);
        mpfr_mul(r17432, r17431, r17419, MPFR_RNDN);
        mpfr_set_d(r17433, y1, MPFR_RNDN);
        mpfr_mul(r17434, r17433, r17422, MPFR_RNDN);
        mpfr_sub(r17435, r17432, r17434, MPFR_RNDN);
        mpfr_mul(r17436, r17430, r17435, MPFR_RNDN);
        mpfr_sub(r17437, r17425, r17436, MPFR_RNDN);
        mpfr_set_d(r17438, y2, MPFR_RNDN);
        mpfr_mul(r17439, r17411, r17438, MPFR_RNDN);
        mpfr_set_d(r17440, y3, MPFR_RNDN);
        mpfr_mul(r17441, r17414, r17440, MPFR_RNDN);
        mpfr_sub(r17442, r17439, r17441, MPFR_RNDN);
        mpfr_mul(r17443, r17431, r17421, MPFR_RNDN);
        mpfr_mul(r17444, r17433, r17418, MPFR_RNDN);
        mpfr_sub(r17445, r17443, r17444, MPFR_RNDN);
        mpfr_mul(r17446, r17442, r17445, MPFR_RNDN);
        mpfr_add(r17447, r17437, r17446, MPFR_RNDN);
        mpfr_mul(r17448, r17415, r17426, MPFR_RNDN);
        mpfr_mul(r17449, r17412, r17428, MPFR_RNDN);
        mpfr_sub(r17450, r17448, r17449, MPFR_RNDN);
        mpfr_set_d(r17451, y4, MPFR_RNDN);
        mpfr_mul(r17452, r17451, r17419, MPFR_RNDN);
        mpfr_set_d(r17453, y5, MPFR_RNDN);
        mpfr_mul(r17454, r17453, r17422, MPFR_RNDN);
        mpfr_sub(r17455, r17452, r17454, MPFR_RNDN);
        mpfr_mul(r17456, r17450, r17455, MPFR_RNDN);
        mpfr_add(r17457, r17447, r17456, MPFR_RNDN);
        mpfr_mul(r17458, r17415, r17438, MPFR_RNDN);
        mpfr_mul(r17459, r17412, r17440, MPFR_RNDN);
        mpfr_sub(r17460, r17458, r17459, MPFR_RNDN);
        mpfr_mul(r17461, r17451, r17421, MPFR_RNDN);
        mpfr_mul(r17462, r17453, r17418, MPFR_RNDN);
        mpfr_sub(r17463, r17461, r17462, MPFR_RNDN);
        mpfr_mul(r17464, r17460, r17463, MPFR_RNDN);
        mpfr_sub(r17465, r17457, r17464, MPFR_RNDN);
        mpfr_mul(r17466, r17428, r17438, MPFR_RNDN);
        mpfr_mul(r17467, r17426, r17440, MPFR_RNDN);
        mpfr_sub(r17468, r17466, r17467, MPFR_RNDN);
        mpfr_mul(r17469, r17451, r17433, MPFR_RNDN);
        mpfr_mul(r17470, r17453, r17431, MPFR_RNDN);
        mpfr_sub(r17471, r17469, r17470, MPFR_RNDN);
        mpfr_mul(r17472, r17468, r17471, MPFR_RNDN);
        mpfr_add(r17473, r17465, r17472, MPFR_RNDN);
        return mpfr_get_d(r17473, MPFR_RNDN);
}

static mpfr_t r17474, r17475, r17476, r17477, r17478, r17479, r17480, r17481, r17482, r17483, r17484, r17485, r17486, r17487, r17488, r17489, r17490, r17491, r17492, r17493, r17494, r17495, r17496, r17497, r17498, r17499, r17500, r17501, r17502, r17503, r17504, r17505, r17506, r17507, r17508, r17509, r17510, r17511, r17512, r17513, r17514, r17515, r17516, r17517, r17518, r17519, r17520, r17521, r17522, r17523, r17524, r17525, r17526, r17527, r17528, r17529, r17530, r17531, r17532, r17533;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r17474);
        mpfr_init(r17475);
        mpfr_init(r17476);
        mpfr_init(r17477);
        mpfr_init(r17478);
        mpfr_init(r17479);
        mpfr_init(r17480);
        mpfr_init(r17481);
        mpfr_init(r17482);
        mpfr_init(r17483);
        mpfr_init(r17484);
        mpfr_init(r17485);
        mpfr_init(r17486);
        mpfr_init(r17487);
        mpfr_init(r17488);
        mpfr_init(r17489);
        mpfr_init(r17490);
        mpfr_init(r17491);
        mpfr_init(r17492);
        mpfr_init(r17493);
        mpfr_init(r17494);
        mpfr_init(r17495);
        mpfr_init(r17496);
        mpfr_init(r17497);
        mpfr_init(r17498);
        mpfr_init(r17499);
        mpfr_init(r17500);
        mpfr_init(r17501);
        mpfr_init(r17502);
        mpfr_init(r17503);
        mpfr_init(r17504);
        mpfr_init(r17505);
        mpfr_init(r17506);
        mpfr_init(r17507);
        mpfr_init(r17508);
        mpfr_init(r17509);
        mpfr_init(r17510);
        mpfr_init(r17511);
        mpfr_init(r17512);
        mpfr_init(r17513);
        mpfr_init(r17514);
        mpfr_init(r17515);
        mpfr_init(r17516);
        mpfr_init(r17517);
        mpfr_init(r17518);
        mpfr_init(r17519);
        mpfr_init(r17520);
        mpfr_init(r17521);
        mpfr_init(r17522);
        mpfr_init(r17523);
        mpfr_init(r17524);
        mpfr_init(r17525);
        mpfr_init(r17526);
        mpfr_init(r17527);
        mpfr_init(r17528);
        mpfr_init(r17529);
        mpfr_init(r17530);
        mpfr_init(r17531);
        mpfr_init(r17532);
        mpfr_init(r17533);
}

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(r17474, b, MPFR_RNDN);
        mpfr_set_d(r17475, a, MPFR_RNDN);
        mpfr_mul(r17476, r17474, r17475, MPFR_RNDN);
        mpfr_set_d(r17477, i, MPFR_RNDN);
        mpfr_set_d(r17478, c, MPFR_RNDN);
        mpfr_mul(r17479, r17477, r17478, MPFR_RNDN);
        mpfr_sub(r17480, r17476, r17479, MPFR_RNDN);
        mpfr_set_d(r17481, y, MPFR_RNDN);
        mpfr_set_d(r17482, x, MPFR_RNDN);
        mpfr_mul(r17483, r17481, r17482, MPFR_RNDN);
        mpfr_set_d(r17484, t, MPFR_RNDN);
        mpfr_set_d(r17485, z, MPFR_RNDN);
        mpfr_mul(r17486, r17484, r17485, MPFR_RNDN);
        mpfr_sub(r17487, r17483, r17486, MPFR_RNDN);
        mpfr_set_d(r17488, y1, MPFR_RNDN);
        mpfr_set_d(r17489, y4, MPFR_RNDN);
        mpfr_mul(r17490, r17488, r17489, MPFR_RNDN);
        mpfr_set_d(r17491, y5, MPFR_RNDN);
        mpfr_set_d(r17492, y0, MPFR_RNDN);
        mpfr_mul(r17493, r17491, r17492, MPFR_RNDN);
        mpfr_sub(r17494, r17490, r17493, MPFR_RNDN);
        mpfr_set_d(r17495, y2, MPFR_RNDN);
        mpfr_set_d(r17496, k, MPFR_RNDN);
        mpfr_mul(r17497, r17495, r17496, MPFR_RNDN);
        mpfr_set_d(r17498, y3, MPFR_RNDN);
        mpfr_set_d(r17499, j, MPFR_RNDN);
        mpfr_mul(r17500, r17498, r17499, MPFR_RNDN);
        mpfr_sub(r17501, r17497, r17500, MPFR_RNDN);
        mpfr_mul(r17502, r17499, r17484, MPFR_RNDN);
        mpfr_mul(r17503, r17496, r17481, MPFR_RNDN);
        mpfr_sub(r17504, r17502, r17503, MPFR_RNDN);
        mpfr_mul(r17505, r17474, r17489, MPFR_RNDN);
        mpfr_mul(r17506, r17491, r17477, MPFR_RNDN);
        mpfr_sub(r17507, r17505, r17506, MPFR_RNDN);
        mpfr_mul(r17508, r17482, r17495, MPFR_RNDN);
        mpfr_mul(r17509, r17485, r17498, MPFR_RNDN);
        mpfr_sub(r17510, r17508, r17509, MPFR_RNDN);
        mpfr_mul(r17511, r17492, r17478, MPFR_RNDN);
        mpfr_mul(r17512, r17488, r17475, MPFR_RNDN);
        mpfr_sub(r17513, r17511, r17512, MPFR_RNDN);
        mpfr_mul(r17514, r17510, r17513, MPFR_RNDN);
        mpfr_fma(r17515, r17504, r17507, r17514, MPFR_RNDN);
        mpfr_fma(r17516, r17494, r17501, r17515, MPFR_RNDN);
        mpfr_fma(r17517, r17480, r17487, r17516, MPFR_RNDN);
        mpfr_mul(r17518, r17499, r17482, MPFR_RNDN);
        mpfr_mul(r17519, r17496, r17485, MPFR_RNDN);
        mpfr_sub(r17520, r17518, r17519, MPFR_RNDN);
        mpfr_mul(r17521, r17492, r17474, MPFR_RNDN);
        mpfr_mul(r17522, r17488, r17477, MPFR_RNDN);
        mpfr_sub(r17523, r17521, r17522, MPFR_RNDN);
        mpfr_mul(r17524, r17484, r17495, MPFR_RNDN);
        mpfr_mul(r17525, r17481, r17498, MPFR_RNDN);
        mpfr_sub(r17526, r17524, r17525, MPFR_RNDN);
        mpfr_mul(r17527, r17478, r17489, MPFR_RNDN);
        mpfr_mul(r17528, r17475, r17491, MPFR_RNDN);
        mpfr_sub(r17529, r17527, r17528, MPFR_RNDN);
        mpfr_mul(r17530, r17526, r17529, MPFR_RNDN);
        mpfr_fma(r17531, r17520, r17523, r17530, MPFR_RNDN);
        mpfr_neg(r17532, r17531, MPFR_RNDN);
        mpfr_add(r17533, r17517, r17532, MPFR_RNDN);
        return mpfr_get_d(r17533, MPFR_RNDN);
}

static mpfr_t r17534, r17535, r17536, r17537, r17538, r17539, r17540, r17541, r17542, r17543, r17544, r17545, r17546, r17547, r17548, r17549, r17550, r17551, r17552, r17553, r17554, r17555, r17556, r17557, r17558, r17559, r17560, r17561, r17562, r17563, r17564, r17565, r17566, r17567, r17568, r17569, r17570, r17571, r17572, r17573, r17574, r17575, r17576, r17577, r17578, r17579, r17580, r17581, r17582, r17583, r17584, r17585, r17586, r17587, r17588, r17589, r17590, r17591, r17592, r17593;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r17534);
        mpfr_init(r17535);
        mpfr_init(r17536);
        mpfr_init(r17537);
        mpfr_init(r17538);
        mpfr_init(r17539);
        mpfr_init(r17540);
        mpfr_init(r17541);
        mpfr_init(r17542);
        mpfr_init(r17543);
        mpfr_init(r17544);
        mpfr_init(r17545);
        mpfr_init(r17546);
        mpfr_init(r17547);
        mpfr_init(r17548);
        mpfr_init(r17549);
        mpfr_init(r17550);
        mpfr_init(r17551);
        mpfr_init(r17552);
        mpfr_init(r17553);
        mpfr_init(r17554);
        mpfr_init(r17555);
        mpfr_init(r17556);
        mpfr_init(r17557);
        mpfr_init(r17558);
        mpfr_init(r17559);
        mpfr_init(r17560);
        mpfr_init(r17561);
        mpfr_init(r17562);
        mpfr_init(r17563);
        mpfr_init(r17564);
        mpfr_init(r17565);
        mpfr_init(r17566);
        mpfr_init(r17567);
        mpfr_init(r17568);
        mpfr_init(r17569);
        mpfr_init(r17570);
        mpfr_init(r17571);
        mpfr_init(r17572);
        mpfr_init(r17573);
        mpfr_init(r17574);
        mpfr_init(r17575);
        mpfr_init(r17576);
        mpfr_init(r17577);
        mpfr_init(r17578);
        mpfr_init(r17579);
        mpfr_init(r17580);
        mpfr_init(r17581);
        mpfr_init(r17582);
        mpfr_init(r17583);
        mpfr_init(r17584);
        mpfr_init(r17585);
        mpfr_init(r17586);
        mpfr_init(r17587);
        mpfr_init(r17588);
        mpfr_init(r17589);
        mpfr_init(r17590);
        mpfr_init(r17591);
        mpfr_init(r17592);
        mpfr_init(r17593);
}

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(r17534, b, MPFR_RNDN);
        mpfr_set_d(r17535, a, MPFR_RNDN);
        mpfr_mul(r17536, r17534, r17535, MPFR_RNDN);
        mpfr_set_d(r17537, i, MPFR_RNDN);
        mpfr_set_d(r17538, c, MPFR_RNDN);
        mpfr_mul(r17539, r17537, r17538, MPFR_RNDN);
        mpfr_sub(r17540, r17536, r17539, MPFR_RNDN);
        mpfr_set_d(r17541, y, MPFR_RNDN);
        mpfr_set_d(r17542, x, MPFR_RNDN);
        mpfr_mul(r17543, r17541, r17542, MPFR_RNDN);
        mpfr_set_d(r17544, t, MPFR_RNDN);
        mpfr_set_d(r17545, z, MPFR_RNDN);
        mpfr_mul(r17546, r17544, r17545, MPFR_RNDN);
        mpfr_sub(r17547, r17543, r17546, MPFR_RNDN);
        mpfr_set_d(r17548, y1, MPFR_RNDN);
        mpfr_set_d(r17549, y4, MPFR_RNDN);
        mpfr_mul(r17550, r17548, r17549, MPFR_RNDN);
        mpfr_set_d(r17551, y5, MPFR_RNDN);
        mpfr_set_d(r17552, y0, MPFR_RNDN);
        mpfr_mul(r17553, r17551, r17552, MPFR_RNDN);
        mpfr_sub(r17554, r17550, r17553, MPFR_RNDN);
        mpfr_set_d(r17555, y2, MPFR_RNDN);
        mpfr_set_d(r17556, k, MPFR_RNDN);
        mpfr_mul(r17557, r17555, r17556, MPFR_RNDN);
        mpfr_set_d(r17558, y3, MPFR_RNDN);
        mpfr_set_d(r17559, j, MPFR_RNDN);
        mpfr_mul(r17560, r17558, r17559, MPFR_RNDN);
        mpfr_sub(r17561, r17557, r17560, MPFR_RNDN);
        mpfr_mul(r17562, r17559, r17544, MPFR_RNDN);
        mpfr_mul(r17563, r17556, r17541, MPFR_RNDN);
        mpfr_sub(r17564, r17562, r17563, MPFR_RNDN);
        mpfr_mul(r17565, r17534, r17549, MPFR_RNDN);
        mpfr_mul(r17566, r17551, r17537, MPFR_RNDN);
        mpfr_sub(r17567, r17565, r17566, MPFR_RNDN);
        mpfr_mul(r17568, r17542, r17555, MPFR_RNDN);
        mpfr_mul(r17569, r17545, r17558, MPFR_RNDN);
        mpfr_sub(r17570, r17568, r17569, MPFR_RNDN);
        mpfr_mul(r17571, r17552, r17538, MPFR_RNDN);
        mpfr_mul(r17572, r17548, r17535, MPFR_RNDN);
        mpfr_sub(r17573, r17571, r17572, MPFR_RNDN);
        mpfr_mul(r17574, r17570, r17573, MPFR_RNDN);
        mpfr_fma(r17575, r17564, r17567, r17574, MPFR_RNDN);
        mpfr_fma(r17576, r17554, r17561, r17575, MPFR_RNDN);
        mpfr_fma(r17577, r17540, r17547, r17576, MPFR_RNDN);
        mpfr_mul(r17578, r17559, r17542, MPFR_RNDN);
        mpfr_mul(r17579, r17556, r17545, MPFR_RNDN);
        mpfr_sub(r17580, r17578, r17579, MPFR_RNDN);
        mpfr_mul(r17581, r17552, r17534, MPFR_RNDN);
        mpfr_mul(r17582, r17548, r17537, MPFR_RNDN);
        mpfr_sub(r17583, r17581, r17582, MPFR_RNDN);
        mpfr_mul(r17584, r17544, r17555, MPFR_RNDN);
        mpfr_mul(r17585, r17541, r17558, MPFR_RNDN);
        mpfr_sub(r17586, r17584, r17585, MPFR_RNDN);
        mpfr_mul(r17587, r17538, r17549, MPFR_RNDN);
        mpfr_mul(r17588, r17535, r17551, MPFR_RNDN);
        mpfr_sub(r17589, r17587, r17588, MPFR_RNDN);
        mpfr_mul(r17590, r17586, r17589, MPFR_RNDN);
        mpfr_fma(r17591, r17580, r17583, r17590, MPFR_RNDN);
        mpfr_neg(r17592, r17591, MPFR_RNDN);
        mpfr_add(r17593, r17577, r17592, MPFR_RNDN);
        return mpfr_get_d(r17593, MPFR_RNDN);
}

