#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 r10272 = x;
        float r10273 = y;
        float r10274 = r10272 * r10273;
        float r10275 = z;
        float r10276 = t;
        float r10277 = r10275 * r10276;
        float r10278 = r10274 - r10277;
        float r10279 = a;
        float r10280 = b;
        float r10281 = r10279 * r10280;
        float r10282 = c;
        float r10283 = i;
        float r10284 = r10282 * r10283;
        float r10285 = r10281 - r10284;
        float r10286 = r10278 * r10285;
        float r10287 = j;
        float r10288 = r10272 * r10287;
        float r10289 = k;
        float r10290 = r10275 * r10289;
        float r10291 = r10288 - r10290;
        float r10292 = y0;
        float r10293 = r10292 * r10280;
        float r10294 = y1;
        float r10295 = r10294 * r10283;
        float r10296 = r10293 - r10295;
        float r10297 = r10291 * r10296;
        float r10298 = r10286 - r10297;
        float r10299 = y2;
        float r10300 = r10272 * r10299;
        float r10301 = y3;
        float r10302 = r10275 * r10301;
        float r10303 = r10300 - r10302;
        float r10304 = r10292 * r10282;
        float r10305 = r10294 * r10279;
        float r10306 = r10304 - r10305;
        float r10307 = r10303 * r10306;
        float r10308 = r10298 + r10307;
        float r10309 = r10276 * r10287;
        float r10310 = r10273 * r10289;
        float r10311 = r10309 - r10310;
        float r10312 = y4;
        float r10313 = r10312 * r10280;
        float r10314 = y5;
        float r10315 = r10314 * r10283;
        float r10316 = r10313 - r10315;
        float r10317 = r10311 * r10316;
        float r10318 = r10308 + r10317;
        float r10319 = r10276 * r10299;
        float r10320 = r10273 * r10301;
        float r10321 = r10319 - r10320;
        float r10322 = r10312 * r10282;
        float r10323 = r10314 * r10279;
        float r10324 = r10322 - r10323;
        float r10325 = r10321 * r10324;
        float r10326 = r10318 - r10325;
        float r10327 = r10289 * r10299;
        float r10328 = r10287 * r10301;
        float r10329 = r10327 - r10328;
        float r10330 = r10312 * r10294;
        float r10331 = r10314 * r10292;
        float r10332 = r10330 - r10331;
        float r10333 = r10329 * r10332;
        float r10334 = r10326 + r10333;
        return r10334;
}

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 r10335 = x;
        double r10336 = y;
        double r10337 = r10335 * r10336;
        double r10338 = z;
        double r10339 = t;
        double r10340 = r10338 * r10339;
        double r10341 = r10337 - r10340;
        double r10342 = a;
        double r10343 = b;
        double r10344 = r10342 * r10343;
        double r10345 = c;
        double r10346 = i;
        double r10347 = r10345 * r10346;
        double r10348 = r10344 - r10347;
        double r10349 = r10341 * r10348;
        double r10350 = j;
        double r10351 = r10335 * r10350;
        double r10352 = k;
        double r10353 = r10338 * r10352;
        double r10354 = r10351 - r10353;
        double r10355 = y0;
        double r10356 = r10355 * r10343;
        double r10357 = y1;
        double r10358 = r10357 * r10346;
        double r10359 = r10356 - r10358;
        double r10360 = r10354 * r10359;
        double r10361 = r10349 - r10360;
        double r10362 = y2;
        double r10363 = r10335 * r10362;
        double r10364 = y3;
        double r10365 = r10338 * r10364;
        double r10366 = r10363 - r10365;
        double r10367 = r10355 * r10345;
        double r10368 = r10357 * r10342;
        double r10369 = r10367 - r10368;
        double r10370 = r10366 * r10369;
        double r10371 = r10361 + r10370;
        double r10372 = r10339 * r10350;
        double r10373 = r10336 * r10352;
        double r10374 = r10372 - r10373;
        double r10375 = y4;
        double r10376 = r10375 * r10343;
        double r10377 = y5;
        double r10378 = r10377 * r10346;
        double r10379 = r10376 - r10378;
        double r10380 = r10374 * r10379;
        double r10381 = r10371 + r10380;
        double r10382 = r10339 * r10362;
        double r10383 = r10336 * r10364;
        double r10384 = r10382 - r10383;
        double r10385 = r10375 * r10345;
        double r10386 = r10377 * r10342;
        double r10387 = r10385 - r10386;
        double r10388 = r10384 * r10387;
        double r10389 = r10381 - r10388;
        double r10390 = r10352 * r10362;
        double r10391 = r10350 * r10364;
        double r10392 = r10390 - r10391;
        double r10393 = r10375 * r10357;
        double r10394 = r10377 * r10355;
        double r10395 = r10393 - r10394;
        double r10396 = r10392 * r10395;
        double r10397 = r10389 + r10396;
        return r10397;
}


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 r10398 = x;
        float r10399 = y;
        float r10400 = r10398 * r10399;
        float r10401 = z;
        float r10402 = t;
        float r10403 = r10401 * r10402;
        float r10404 = r10400 - r10403;
        float r10405 = a;
        float r10406 = b;
        float r10407 = r10405 * r10406;
        float r10408 = c;
        float r10409 = i;
        float r10410 = r10408 * r10409;
        float r10411 = r10407 - r10410;
        float r10412 = r10404 * r10411;
        float r10413 = j;
        float r10414 = r10398 * r10413;
        float r10415 = k;
        float r10416 = r10401 * r10415;
        float r10417 = r10414 - r10416;
        float r10418 = y0;
        float r10419 = r10418 * r10406;
        float r10420 = y1;
        float r10421 = r10420 * r10409;
        float r10422 = r10419 - r10421;
        float r10423 = r10417 * r10422;
        float r10424 = r10412 - r10423;
        float r10425 = y2;
        float r10426 = r10398 * r10425;
        float r10427 = y3;
        float r10428 = r10401 * r10427;
        float r10429 = r10426 - r10428;
        float r10430 = r10418 * r10408;
        float r10431 = r10420 * r10405;
        float r10432 = r10430 - r10431;
        float r10433 = r10429 * r10432;
        float r10434 = r10424 + r10433;
        float r10435 = y5;
        float r10436 = r10435 * r10415;
        float r10437 = r10399 * r10436;
        float r10438 = r10409 * r10437;
        float r10439 = y4;
        float r10440 = r10406 * r10439;
        float r10441 = r10399 * r10440;
        float r10442 = r10415 * r10441;
        float r10443 = r10413 * r10435;
        float r10444 = r10409 * r10443;
        float r10445 = r10402 * r10444;
        float r10446 = r10442 + r10445;
        float r10447 = r10438 - r10446;
        float r10448 = r10434 + r10447;
        float r10449 = r10402 * r10425;
        float r10450 = r10399 * r10427;
        float r10451 = r10449 - r10450;
        float r10452 = r10439 * r10408;
        float r10453 = r10435 * r10405;
        float r10454 = r10452 - r10453;
        float r10455 = r10451 * r10454;
        float r10456 = r10448 - r10455;
        float r10457 = r10415 * r10425;
        float r10458 = r10413 * r10427;
        float r10459 = r10457 - r10458;
        float r10460 = r10439 * r10420;
        float r10461 = r10435 * r10418;
        float r10462 = r10460 - r10461;
        float r10463 = r10459 * r10462;
        float r10464 = r10456 + r10463;
        float r10465 = 1.4518567241345158e+128;
        bool r10466 = r10464 <= r10465;
        float r10467 = r10402 * r10413;
        float r10468 = r10399 * r10415;
        float r10469 = r10467 - r10468;
        float r10470 = cbrt(r10469);
        float r10471 = r10470 * r10470;
        float r10472 = r10439 * r10406;
        float r10473 = r10435 * r10409;
        float r10474 = r10472 - r10473;
        float r10475 = r10470 * r10474;
        float r10476 = r10471 * r10475;
        float r10477 = r10434 + r10476;
        float r10478 = r10477 - r10455;
        float r10479 = r10478 + r10463;
        float r10480 = 9.718110244633903e+303;
        bool r10481 = r10464 <= r10480;
        float r10482 = r10401 * r10408;
        float r10483 = r10409 * r10482;
        float r10484 = r10402 * r10483;
        float r10485 = r10406 * r10401;
        float r10486 = r10402 * r10485;
        float r10487 = r10405 * r10486;
        float r10488 = r10408 * r10399;
        float r10489 = r10398 * r10488;
        float r10490 = r10409 * r10489;
        float r10491 = r10487 + r10490;
        float r10492 = r10484 - r10491;
        float r10493 = r10492 - r10423;
        float r10494 = r10493 + r10433;
        float r10495 = r10469 * r10474;
        float r10496 = r10494 + r10495;
        float r10497 = r10496 - r10455;
        float r10498 = r10497 + r10463;
        float r10499 = r10481 ? r10464 : r10498;
        float r10500 = r10466 ? r10479 : r10499;
        return r10500;
}

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 r10501 = x;
        double r10502 = y;
        double r10503 = r10501 * r10502;
        double r10504 = z;
        double r10505 = t;
        double r10506 = r10504 * r10505;
        double r10507 = r10503 - r10506;
        double r10508 = a;
        double r10509 = b;
        double r10510 = r10508 * r10509;
        double r10511 = c;
        double r10512 = i;
        double r10513 = r10511 * r10512;
        double r10514 = r10510 - r10513;
        double r10515 = r10507 * r10514;
        double r10516 = j;
        double r10517 = r10501 * r10516;
        double r10518 = k;
        double r10519 = r10504 * r10518;
        double r10520 = r10517 - r10519;
        double r10521 = y0;
        double r10522 = r10521 * r10509;
        double r10523 = y1;
        double r10524 = r10523 * r10512;
        double r10525 = r10522 - r10524;
        double r10526 = r10520 * r10525;
        double r10527 = r10515 - r10526;
        double r10528 = y2;
        double r10529 = r10501 * r10528;
        double r10530 = y3;
        double r10531 = r10504 * r10530;
        double r10532 = r10529 - r10531;
        double r10533 = r10521 * r10511;
        double r10534 = r10523 * r10508;
        double r10535 = r10533 - r10534;
        double r10536 = r10532 * r10535;
        double r10537 = r10527 + r10536;
        double r10538 = y5;
        double r10539 = r10538 * r10518;
        double r10540 = r10502 * r10539;
        double r10541 = r10512 * r10540;
        double r10542 = y4;
        double r10543 = r10509 * r10542;
        double r10544 = r10502 * r10543;
        double r10545 = r10518 * r10544;
        double r10546 = r10516 * r10538;
        double r10547 = r10512 * r10546;
        double r10548 = r10505 * r10547;
        double r10549 = r10545 + r10548;
        double r10550 = r10541 - r10549;
        double r10551 = r10537 + r10550;
        double r10552 = r10505 * r10528;
        double r10553 = r10502 * r10530;
        double r10554 = r10552 - r10553;
        double r10555 = r10542 * r10511;
        double r10556 = r10538 * r10508;
        double r10557 = r10555 - r10556;
        double r10558 = r10554 * r10557;
        double r10559 = r10551 - r10558;
        double r10560 = r10518 * r10528;
        double r10561 = r10516 * r10530;
        double r10562 = r10560 - r10561;
        double r10563 = r10542 * r10523;
        double r10564 = r10538 * r10521;
        double r10565 = r10563 - r10564;
        double r10566 = r10562 * r10565;
        double r10567 = r10559 + r10566;
        double r10568 = 1.4518567241345158e+128;
        bool r10569 = r10567 <= r10568;
        double r10570 = r10505 * r10516;
        double r10571 = r10502 * r10518;
        double r10572 = r10570 - r10571;
        double r10573 = cbrt(r10572);
        double r10574 = r10573 * r10573;
        double r10575 = r10542 * r10509;
        double r10576 = r10538 * r10512;
        double r10577 = r10575 - r10576;
        double r10578 = r10573 * r10577;
        double r10579 = r10574 * r10578;
        double r10580 = r10537 + r10579;
        double r10581 = r10580 - r10558;
        double r10582 = r10581 + r10566;
        double r10583 = 9.718110244633903e+303;
        bool r10584 = r10567 <= r10583;
        double r10585 = r10504 * r10511;
        double r10586 = r10512 * r10585;
        double r10587 = r10505 * r10586;
        double r10588 = r10509 * r10504;
        double r10589 = r10505 * r10588;
        double r10590 = r10508 * r10589;
        double r10591 = r10511 * r10502;
        double r10592 = r10501 * r10591;
        double r10593 = r10512 * r10592;
        double r10594 = r10590 + r10593;
        double r10595 = r10587 - r10594;
        double r10596 = r10595 - r10526;
        double r10597 = r10596 + r10536;
        double r10598 = r10572 * r10577;
        double r10599 = r10597 + r10598;
        double r10600 = r10599 - r10558;
        double r10601 = r10600 + r10566;
        double r10602 = r10584 ? r10567 : r10601;
        double r10603 = r10569 ? r10582 : r10602;
        return r10603;
}

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

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        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(r10617);
        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(r10630);
        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(r10651);
        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);
}

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(r10604, x, MPFR_RNDN);
        mpfr_set_d(r10605, y, MPFR_RNDN);
        mpfr_mul(r10606, r10604, r10605, MPFR_RNDN);
        mpfr_set_d(r10607, z, MPFR_RNDN);
        mpfr_set_d(r10608, t, MPFR_RNDN);
        mpfr_mul(r10609, r10607, r10608, MPFR_RNDN);
        mpfr_sub(r10610, r10606, r10609, MPFR_RNDN);
        mpfr_set_d(r10611, a, MPFR_RNDN);
        mpfr_set_d(r10612, b, MPFR_RNDN);
        mpfr_mul(r10613, r10611, r10612, MPFR_RNDN);
        mpfr_set_d(r10614, c, MPFR_RNDN);
        mpfr_set_d(r10615, i, MPFR_RNDN);
        mpfr_mul(r10616, r10614, r10615, MPFR_RNDN);
        mpfr_sub(r10617, r10613, r10616, MPFR_RNDN);
        mpfr_mul(r10618, r10610, r10617, MPFR_RNDN);
        mpfr_set_d(r10619, j, MPFR_RNDN);
        mpfr_mul(r10620, r10604, r10619, MPFR_RNDN);
        mpfr_set_d(r10621, k, MPFR_RNDN);
        mpfr_mul(r10622, r10607, r10621, MPFR_RNDN);
        mpfr_sub(r10623, r10620, r10622, MPFR_RNDN);
        mpfr_set_d(r10624, y0, MPFR_RNDN);
        mpfr_mul(r10625, r10624, r10612, MPFR_RNDN);
        mpfr_set_d(r10626, y1, MPFR_RNDN);
        mpfr_mul(r10627, r10626, r10615, MPFR_RNDN);
        mpfr_sub(r10628, r10625, r10627, MPFR_RNDN);
        mpfr_mul(r10629, r10623, r10628, MPFR_RNDN);
        mpfr_sub(r10630, r10618, r10629, MPFR_RNDN);
        mpfr_set_d(r10631, y2, MPFR_RNDN);
        mpfr_mul(r10632, r10604, r10631, MPFR_RNDN);
        mpfr_set_d(r10633, y3, MPFR_RNDN);
        mpfr_mul(r10634, r10607, r10633, MPFR_RNDN);
        mpfr_sub(r10635, r10632, r10634, MPFR_RNDN);
        mpfr_mul(r10636, r10624, r10614, MPFR_RNDN);
        mpfr_mul(r10637, r10626, r10611, MPFR_RNDN);
        mpfr_sub(r10638, r10636, r10637, MPFR_RNDN);
        mpfr_mul(r10639, r10635, r10638, MPFR_RNDN);
        mpfr_add(r10640, r10630, r10639, MPFR_RNDN);
        mpfr_mul(r10641, r10608, r10619, MPFR_RNDN);
        mpfr_mul(r10642, r10605, r10621, MPFR_RNDN);
        mpfr_sub(r10643, r10641, r10642, MPFR_RNDN);
        mpfr_set_d(r10644, y4, MPFR_RNDN);
        mpfr_mul(r10645, r10644, r10612, MPFR_RNDN);
        mpfr_set_d(r10646, y5, MPFR_RNDN);
        mpfr_mul(r10647, r10646, r10615, MPFR_RNDN);
        mpfr_sub(r10648, r10645, r10647, MPFR_RNDN);
        mpfr_mul(r10649, r10643, r10648, MPFR_RNDN);
        mpfr_add(r10650, r10640, r10649, MPFR_RNDN);
        mpfr_mul(r10651, r10608, r10631, MPFR_RNDN);
        mpfr_mul(r10652, r10605, r10633, MPFR_RNDN);
        mpfr_sub(r10653, r10651, r10652, MPFR_RNDN);
        mpfr_mul(r10654, r10644, r10614, MPFR_RNDN);
        mpfr_mul(r10655, r10646, r10611, MPFR_RNDN);
        mpfr_sub(r10656, r10654, r10655, MPFR_RNDN);
        mpfr_mul(r10657, r10653, r10656, MPFR_RNDN);
        mpfr_sub(r10658, r10650, r10657, MPFR_RNDN);
        mpfr_mul(r10659, r10621, r10631, MPFR_RNDN);
        mpfr_mul(r10660, r10619, r10633, MPFR_RNDN);
        mpfr_sub(r10661, r10659, r10660, MPFR_RNDN);
        mpfr_mul(r10662, r10644, r10626, MPFR_RNDN);
        mpfr_mul(r10663, r10646, r10624, MPFR_RNDN);
        mpfr_sub(r10664, r10662, r10663, MPFR_RNDN);
        mpfr_mul(r10665, r10661, r10664, MPFR_RNDN);
        mpfr_add(r10666, r10658, r10665, MPFR_RNDN);
        return mpfr_get_d(r10666, MPFR_RNDN);
}

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

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r10667);
        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(r10732);
        mpfr_init(r10733);
        mpfr_init_set_str(r10734, "1.4518567241345158e+128", 10, MPFR_RNDN);
        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_set_str(r10749, "9.718110244633903e+303", 10, MPFR_RNDN);
        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);
}

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(r10667, x, MPFR_RNDN);
        mpfr_set_d(r10668, y, MPFR_RNDN);
        mpfr_mul(r10669, r10667, r10668, MPFR_RNDN);
        mpfr_set_d(r10670, z, MPFR_RNDN);
        mpfr_set_d(r10671, t, MPFR_RNDN);
        mpfr_mul(r10672, r10670, r10671, MPFR_RNDN);
        mpfr_sub(r10673, r10669, r10672, MPFR_RNDN);
        mpfr_set_d(r10674, a, MPFR_RNDN);
        mpfr_set_d(r10675, b, MPFR_RNDN);
        mpfr_mul(r10676, r10674, r10675, MPFR_RNDN);
        mpfr_set_d(r10677, c, MPFR_RNDN);
        mpfr_set_d(r10678, i, MPFR_RNDN);
        mpfr_mul(r10679, r10677, r10678, MPFR_RNDN);
        mpfr_sub(r10680, r10676, r10679, MPFR_RNDN);
        mpfr_mul(r10681, r10673, r10680, MPFR_RNDN);
        mpfr_set_d(r10682, j, MPFR_RNDN);
        mpfr_mul(r10683, r10667, r10682, MPFR_RNDN);
        mpfr_set_d(r10684, k, MPFR_RNDN);
        mpfr_mul(r10685, r10670, r10684, MPFR_RNDN);
        mpfr_sub(r10686, r10683, r10685, MPFR_RNDN);
        mpfr_set_d(r10687, y0, MPFR_RNDN);
        mpfr_mul(r10688, r10687, r10675, MPFR_RNDN);
        mpfr_set_d(r10689, y1, MPFR_RNDN);
        mpfr_mul(r10690, r10689, r10678, MPFR_RNDN);
        mpfr_sub(r10691, r10688, r10690, MPFR_RNDN);
        mpfr_mul(r10692, r10686, r10691, MPFR_RNDN);
        mpfr_sub(r10693, r10681, r10692, MPFR_RNDN);
        mpfr_set_d(r10694, y2, MPFR_RNDN);
        mpfr_mul(r10695, r10667, r10694, MPFR_RNDN);
        mpfr_set_d(r10696, y3, MPFR_RNDN);
        mpfr_mul(r10697, r10670, r10696, MPFR_RNDN);
        mpfr_sub(r10698, r10695, r10697, MPFR_RNDN);
        mpfr_mul(r10699, r10687, r10677, MPFR_RNDN);
        mpfr_mul(r10700, r10689, r10674, MPFR_RNDN);
        mpfr_sub(r10701, r10699, r10700, MPFR_RNDN);
        mpfr_mul(r10702, r10698, r10701, MPFR_RNDN);
        mpfr_add(r10703, r10693, r10702, MPFR_RNDN);
        mpfr_set_d(r10704, y5, MPFR_RNDN);
        mpfr_mul(r10705, r10704, r10684, MPFR_RNDN);
        mpfr_mul(r10706, r10668, r10705, MPFR_RNDN);
        mpfr_mul(r10707, r10678, r10706, MPFR_RNDN);
        mpfr_set_d(r10708, y4, MPFR_RNDN);
        mpfr_mul(r10709, r10675, r10708, MPFR_RNDN);
        mpfr_mul(r10710, r10668, r10709, MPFR_RNDN);
        mpfr_mul(r10711, r10684, r10710, MPFR_RNDN);
        mpfr_mul(r10712, r10682, r10704, MPFR_RNDN);
        mpfr_mul(r10713, r10678, r10712, MPFR_RNDN);
        mpfr_mul(r10714, r10671, r10713, MPFR_RNDN);
        mpfr_add(r10715, r10711, r10714, MPFR_RNDN);
        mpfr_sub(r10716, r10707, r10715, MPFR_RNDN);
        mpfr_add(r10717, r10703, r10716, MPFR_RNDN);
        mpfr_mul(r10718, r10671, r10694, MPFR_RNDN);
        mpfr_mul(r10719, r10668, r10696, MPFR_RNDN);
        mpfr_sub(r10720, r10718, r10719, MPFR_RNDN);
        mpfr_mul(r10721, r10708, r10677, MPFR_RNDN);
        mpfr_mul(r10722, r10704, r10674, MPFR_RNDN);
        mpfr_sub(r10723, r10721, r10722, MPFR_RNDN);
        mpfr_mul(r10724, r10720, r10723, MPFR_RNDN);
        mpfr_sub(r10725, r10717, r10724, MPFR_RNDN);
        mpfr_mul(r10726, r10684, r10694, MPFR_RNDN);
        mpfr_mul(r10727, r10682, r10696, MPFR_RNDN);
        mpfr_sub(r10728, r10726, r10727, MPFR_RNDN);
        mpfr_mul(r10729, r10708, r10689, MPFR_RNDN);
        mpfr_mul(r10730, r10704, r10687, MPFR_RNDN);
        mpfr_sub(r10731, r10729, r10730, MPFR_RNDN);
        mpfr_mul(r10732, r10728, r10731, MPFR_RNDN);
        mpfr_add(r10733, r10725, r10732, MPFR_RNDN);
        ;
        mpfr_set_si(r10735, mpfr_cmp(r10733, r10734) <= 0, MPFR_RNDN);
        mpfr_mul(r10736, r10671, r10682, MPFR_RNDN);
        mpfr_mul(r10737, r10668, r10684, MPFR_RNDN);
        mpfr_sub(r10738, r10736, r10737, MPFR_RNDN);
        mpfr_cbrt(r10739, r10738, MPFR_RNDN);
        mpfr_mul(r10740, r10739, r10739, MPFR_RNDN);
        mpfr_mul(r10741, r10708, r10675, MPFR_RNDN);
        mpfr_mul(r10742, r10704, r10678, MPFR_RNDN);
        mpfr_sub(r10743, r10741, r10742, MPFR_RNDN);
        mpfr_mul(r10744, r10739, r10743, MPFR_RNDN);
        mpfr_mul(r10745, r10740, r10744, MPFR_RNDN);
        mpfr_add(r10746, r10703, r10745, MPFR_RNDN);
        mpfr_sub(r10747, r10746, r10724, MPFR_RNDN);
        mpfr_add(r10748, r10747, r10732, MPFR_RNDN);
        ;
        mpfr_set_si(r10750, mpfr_cmp(r10733, r10749) <= 0, MPFR_RNDN);
        mpfr_mul(r10751, r10670, r10677, MPFR_RNDN);
        mpfr_mul(r10752, r10678, r10751, MPFR_RNDN);
        mpfr_mul(r10753, r10671, r10752, MPFR_RNDN);
        mpfr_mul(r10754, r10675, r10670, MPFR_RNDN);
        mpfr_mul(r10755, r10671, r10754, MPFR_RNDN);
        mpfr_mul(r10756, r10674, r10755, MPFR_RNDN);
        mpfr_mul(r10757, r10677, r10668, MPFR_RNDN);
        mpfr_mul(r10758, r10667, r10757, MPFR_RNDN);
        mpfr_mul(r10759, r10678, r10758, MPFR_RNDN);
        mpfr_add(r10760, r10756, r10759, MPFR_RNDN);
        mpfr_sub(r10761, r10753, r10760, MPFR_RNDN);
        mpfr_sub(r10762, r10761, r10692, MPFR_RNDN);
        mpfr_add(r10763, r10762, r10702, MPFR_RNDN);
        mpfr_mul(r10764, r10738, r10743, MPFR_RNDN);
        mpfr_add(r10765, r10763, r10764, MPFR_RNDN);
        mpfr_sub(r10766, r10765, r10724, MPFR_RNDN);
        mpfr_add(r10767, r10766, r10732, MPFR_RNDN);
        if (mpfr_get_si(r10750, MPFR_RNDN)) { mpfr_set(r10768, r10733, MPFR_RNDN); } else { mpfr_set(r10768, r10767, MPFR_RNDN); };
        if (mpfr_get_si(r10735, MPFR_RNDN)) { mpfr_set(r10769, r10748, MPFR_RNDN); } else { mpfr_set(r10769, r10768, MPFR_RNDN); };
        return mpfr_get_d(r10769, MPFR_RNDN);
}

static mpfr_t 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, r10821, r10822, r10823, r10824, r10825, r10826, r10827, r10828, r10829, r10830, r10831, r10832, r10833, r10834, r10835, r10836, r10837, r10838, r10839, r10840, r10841, r10842, r10843, r10844, r10845, r10846, r10847, r10848, r10849, r10850, r10851, r10852, r10853, r10854, r10855, r10856, r10857, r10858, r10859, r10860, r10861, r10862, r10863, r10864, r10865, r10866, r10867, r10868, r10869, r10870, r10871, r10872;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r10770);
        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(r10783);
        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(r10804);
        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);
        mpfr_init(r10821);
        mpfr_init(r10822);
        mpfr_init(r10823);
        mpfr_init(r10824);
        mpfr_init(r10825);
        mpfr_init(r10826);
        mpfr_init(r10827);
        mpfr_init(r10828);
        mpfr_init(r10829);
        mpfr_init(r10830);
        mpfr_init(r10831);
        mpfr_init(r10832);
        mpfr_init(r10833);
        mpfr_init(r10834);
        mpfr_init(r10835);
        mpfr_init(r10836);
        mpfr_init_set_str(r10837, "1.4518567241345158e+128", 10, MPFR_RNDN);
        mpfr_init(r10838);
        mpfr_init(r10839);
        mpfr_init(r10840);
        mpfr_init(r10841);
        mpfr_init(r10842);
        mpfr_init(r10843);
        mpfr_init(r10844);
        mpfr_init(r10845);
        mpfr_init(r10846);
        mpfr_init(r10847);
        mpfr_init(r10848);
        mpfr_init(r10849);
        mpfr_init(r10850);
        mpfr_init(r10851);
        mpfr_init_set_str(r10852, "9.718110244633903e+303", 10, MPFR_RNDN);
        mpfr_init(r10853);
        mpfr_init(r10854);
        mpfr_init(r10855);
        mpfr_init(r10856);
        mpfr_init(r10857);
        mpfr_init(r10858);
        mpfr_init(r10859);
        mpfr_init(r10860);
        mpfr_init(r10861);
        mpfr_init(r10862);
        mpfr_init(r10863);
        mpfr_init(r10864);
        mpfr_init(r10865);
        mpfr_init(r10866);
        mpfr_init(r10867);
        mpfr_init(r10868);
        mpfr_init(r10869);
        mpfr_init(r10870);
        mpfr_init(r10871);
        mpfr_init(r10872);
}

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(r10770, x, MPFR_RNDN);
        mpfr_set_d(r10771, y, MPFR_RNDN);
        mpfr_mul(r10772, r10770, r10771, MPFR_RNDN);
        mpfr_set_d(r10773, z, MPFR_RNDN);
        mpfr_set_d(r10774, t, MPFR_RNDN);
        mpfr_mul(r10775, r10773, r10774, MPFR_RNDN);
        mpfr_sub(r10776, r10772, r10775, MPFR_RNDN);
        mpfr_set_d(r10777, a, MPFR_RNDN);
        mpfr_set_d(r10778, b, MPFR_RNDN);
        mpfr_mul(r10779, r10777, r10778, MPFR_RNDN);
        mpfr_set_d(r10780, c, MPFR_RNDN);
        mpfr_set_d(r10781, i, MPFR_RNDN);
        mpfr_mul(r10782, r10780, r10781, MPFR_RNDN);
        mpfr_sub(r10783, r10779, r10782, MPFR_RNDN);
        mpfr_mul(r10784, r10776, r10783, MPFR_RNDN);
        mpfr_set_d(r10785, j, MPFR_RNDN);
        mpfr_mul(r10786, r10770, r10785, MPFR_RNDN);
        mpfr_set_d(r10787, k, MPFR_RNDN);
        mpfr_mul(r10788, r10773, r10787, MPFR_RNDN);
        mpfr_sub(r10789, r10786, r10788, MPFR_RNDN);
        mpfr_set_d(r10790, y0, MPFR_RNDN);
        mpfr_mul(r10791, r10790, r10778, MPFR_RNDN);
        mpfr_set_d(r10792, y1, MPFR_RNDN);
        mpfr_mul(r10793, r10792, r10781, MPFR_RNDN);
        mpfr_sub(r10794, r10791, r10793, MPFR_RNDN);
        mpfr_mul(r10795, r10789, r10794, MPFR_RNDN);
        mpfr_sub(r10796, r10784, r10795, MPFR_RNDN);
        mpfr_set_d(r10797, y2, MPFR_RNDN);
        mpfr_mul(r10798, r10770, r10797, MPFR_RNDN);
        mpfr_set_d(r10799, y3, MPFR_RNDN);
        mpfr_mul(r10800, r10773, r10799, MPFR_RNDN);
        mpfr_sub(r10801, r10798, r10800, MPFR_RNDN);
        mpfr_mul(r10802, r10790, r10780, MPFR_RNDN);
        mpfr_mul(r10803, r10792, r10777, MPFR_RNDN);
        mpfr_sub(r10804, r10802, r10803, MPFR_RNDN);
        mpfr_mul(r10805, r10801, r10804, MPFR_RNDN);
        mpfr_add(r10806, r10796, r10805, MPFR_RNDN);
        mpfr_set_d(r10807, y5, MPFR_RNDN);
        mpfr_mul(r10808, r10807, r10787, MPFR_RNDN);
        mpfr_mul(r10809, r10771, r10808, MPFR_RNDN);
        mpfr_mul(r10810, r10781, r10809, MPFR_RNDN);
        mpfr_set_d(r10811, y4, MPFR_RNDN);
        mpfr_mul(r10812, r10778, r10811, MPFR_RNDN);
        mpfr_mul(r10813, r10771, r10812, MPFR_RNDN);
        mpfr_mul(r10814, r10787, r10813, MPFR_RNDN);
        mpfr_mul(r10815, r10785, r10807, MPFR_RNDN);
        mpfr_mul(r10816, r10781, r10815, MPFR_RNDN);
        mpfr_mul(r10817, r10774, r10816, MPFR_RNDN);
        mpfr_add(r10818, r10814, r10817, MPFR_RNDN);
        mpfr_sub(r10819, r10810, r10818, MPFR_RNDN);
        mpfr_add(r10820, r10806, r10819, MPFR_RNDN);
        mpfr_mul(r10821, r10774, r10797, MPFR_RNDN);
        mpfr_mul(r10822, r10771, r10799, MPFR_RNDN);
        mpfr_sub(r10823, r10821, r10822, MPFR_RNDN);
        mpfr_mul(r10824, r10811, r10780, MPFR_RNDN);
        mpfr_mul(r10825, r10807, r10777, MPFR_RNDN);
        mpfr_sub(r10826, r10824, r10825, MPFR_RNDN);
        mpfr_mul(r10827, r10823, r10826, MPFR_RNDN);
        mpfr_sub(r10828, r10820, r10827, MPFR_RNDN);
        mpfr_mul(r10829, r10787, r10797, MPFR_RNDN);
        mpfr_mul(r10830, r10785, r10799, MPFR_RNDN);
        mpfr_sub(r10831, r10829, r10830, MPFR_RNDN);
        mpfr_mul(r10832, r10811, r10792, MPFR_RNDN);
        mpfr_mul(r10833, r10807, r10790, MPFR_RNDN);
        mpfr_sub(r10834, r10832, r10833, MPFR_RNDN);
        mpfr_mul(r10835, r10831, r10834, MPFR_RNDN);
        mpfr_add(r10836, r10828, r10835, MPFR_RNDN);
        ;
        mpfr_set_si(r10838, mpfr_cmp(r10836, r10837) <= 0, MPFR_RNDN);
        mpfr_mul(r10839, r10774, r10785, MPFR_RNDN);
        mpfr_mul(r10840, r10771, r10787, MPFR_RNDN);
        mpfr_sub(r10841, r10839, r10840, MPFR_RNDN);
        mpfr_cbrt(r10842, r10841, MPFR_RNDN);
        mpfr_mul(r10843, r10842, r10842, MPFR_RNDN);
        mpfr_mul(r10844, r10811, r10778, MPFR_RNDN);
        mpfr_mul(r10845, r10807, r10781, MPFR_RNDN);
        mpfr_sub(r10846, r10844, r10845, MPFR_RNDN);
        mpfr_mul(r10847, r10842, r10846, MPFR_RNDN);
        mpfr_mul(r10848, r10843, r10847, MPFR_RNDN);
        mpfr_add(r10849, r10806, r10848, MPFR_RNDN);
        mpfr_sub(r10850, r10849, r10827, MPFR_RNDN);
        mpfr_add(r10851, r10850, r10835, MPFR_RNDN);
        ;
        mpfr_set_si(r10853, mpfr_cmp(r10836, r10852) <= 0, MPFR_RNDN);
        mpfr_mul(r10854, r10773, r10780, MPFR_RNDN);
        mpfr_mul(r10855, r10781, r10854, MPFR_RNDN);
        mpfr_mul(r10856, r10774, r10855, MPFR_RNDN);
        mpfr_mul(r10857, r10778, r10773, MPFR_RNDN);
        mpfr_mul(r10858, r10774, r10857, MPFR_RNDN);
        mpfr_mul(r10859, r10777, r10858, MPFR_RNDN);
        mpfr_mul(r10860, r10780, r10771, MPFR_RNDN);
        mpfr_mul(r10861, r10770, r10860, MPFR_RNDN);
        mpfr_mul(r10862, r10781, r10861, MPFR_RNDN);
        mpfr_add(r10863, r10859, r10862, MPFR_RNDN);
        mpfr_sub(r10864, r10856, r10863, MPFR_RNDN);
        mpfr_sub(r10865, r10864, r10795, MPFR_RNDN);
        mpfr_add(r10866, r10865, r10805, MPFR_RNDN);
        mpfr_mul(r10867, r10841, r10846, MPFR_RNDN);
        mpfr_add(r10868, r10866, r10867, MPFR_RNDN);
        mpfr_sub(r10869, r10868, r10827, MPFR_RNDN);
        mpfr_add(r10870, r10869, r10835, MPFR_RNDN);
        if (mpfr_get_si(r10853, MPFR_RNDN)) { mpfr_set(r10871, r10836, MPFR_RNDN); } else { mpfr_set(r10871, r10870, MPFR_RNDN); };
        if (mpfr_get_si(r10838, MPFR_RNDN)) { mpfr_set(r10872, r10851, MPFR_RNDN); } else { mpfr_set(r10872, r10871, MPFR_RNDN); };
        return mpfr_get_d(r10872, MPFR_RNDN);
}

