#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 r9453 = x;
        float r9454 = y;
        float r9455 = r9453 * r9454;
        float r9456 = z;
        float r9457 = t;
        float r9458 = r9456 * r9457;
        float r9459 = r9455 - r9458;
        float r9460 = a;
        float r9461 = b;
        float r9462 = r9460 * r9461;
        float r9463 = c;
        float r9464 = i;
        float r9465 = r9463 * r9464;
        float r9466 = r9462 - r9465;
        float r9467 = r9459 * r9466;
        float r9468 = j;
        float r9469 = r9453 * r9468;
        float r9470 = k;
        float r9471 = r9456 * r9470;
        float r9472 = r9469 - r9471;
        float r9473 = y0;
        float r9474 = r9473 * r9461;
        float r9475 = y1;
        float r9476 = r9475 * r9464;
        float r9477 = r9474 - r9476;
        float r9478 = r9472 * r9477;
        float r9479 = r9467 - r9478;
        float r9480 = y2;
        float r9481 = r9453 * r9480;
        float r9482 = y3;
        float r9483 = r9456 * r9482;
        float r9484 = r9481 - r9483;
        float r9485 = r9473 * r9463;
        float r9486 = r9475 * r9460;
        float r9487 = r9485 - r9486;
        float r9488 = r9484 * r9487;
        float r9489 = r9479 + r9488;
        float r9490 = r9457 * r9468;
        float r9491 = r9454 * r9470;
        float r9492 = r9490 - r9491;
        float r9493 = y4;
        float r9494 = r9493 * r9461;
        float r9495 = y5;
        float r9496 = r9495 * r9464;
        float r9497 = r9494 - r9496;
        float r9498 = r9492 * r9497;
        float r9499 = r9489 + r9498;
        float r9500 = r9457 * r9480;
        float r9501 = r9454 * r9482;
        float r9502 = r9500 - r9501;
        float r9503 = r9493 * r9463;
        float r9504 = r9495 * r9460;
        float r9505 = r9503 - r9504;
        float r9506 = r9502 * r9505;
        float r9507 = r9499 - r9506;
        float r9508 = r9470 * r9480;
        float r9509 = r9468 * r9482;
        float r9510 = r9508 - r9509;
        float r9511 = r9493 * r9475;
        float r9512 = r9495 * r9473;
        float r9513 = r9511 - r9512;
        float r9514 = r9510 * r9513;
        float r9515 = r9507 + r9514;
        return r9515;
}

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 r9516 = x;
        double r9517 = y;
        double r9518 = r9516 * r9517;
        double r9519 = z;
        double r9520 = t;
        double r9521 = r9519 * r9520;
        double r9522 = r9518 - r9521;
        double r9523 = a;
        double r9524 = b;
        double r9525 = r9523 * r9524;
        double r9526 = c;
        double r9527 = i;
        double r9528 = r9526 * r9527;
        double r9529 = r9525 - r9528;
        double r9530 = r9522 * r9529;
        double r9531 = j;
        double r9532 = r9516 * r9531;
        double r9533 = k;
        double r9534 = r9519 * r9533;
        double r9535 = r9532 - r9534;
        double r9536 = y0;
        double r9537 = r9536 * r9524;
        double r9538 = y1;
        double r9539 = r9538 * r9527;
        double r9540 = r9537 - r9539;
        double r9541 = r9535 * r9540;
        double r9542 = r9530 - r9541;
        double r9543 = y2;
        double r9544 = r9516 * r9543;
        double r9545 = y3;
        double r9546 = r9519 * r9545;
        double r9547 = r9544 - r9546;
        double r9548 = r9536 * r9526;
        double r9549 = r9538 * r9523;
        double r9550 = r9548 - r9549;
        double r9551 = r9547 * r9550;
        double r9552 = r9542 + r9551;
        double r9553 = r9520 * r9531;
        double r9554 = r9517 * r9533;
        double r9555 = r9553 - r9554;
        double r9556 = y4;
        double r9557 = r9556 * r9524;
        double r9558 = y5;
        double r9559 = r9558 * r9527;
        double r9560 = r9557 - r9559;
        double r9561 = r9555 * r9560;
        double r9562 = r9552 + r9561;
        double r9563 = r9520 * r9543;
        double r9564 = r9517 * r9545;
        double r9565 = r9563 - r9564;
        double r9566 = r9556 * r9526;
        double r9567 = r9558 * r9523;
        double r9568 = r9566 - r9567;
        double r9569 = r9565 * r9568;
        double r9570 = r9562 - r9569;
        double r9571 = r9533 * r9543;
        double r9572 = r9531 * r9545;
        double r9573 = r9571 - r9572;
        double r9574 = r9556 * r9538;
        double r9575 = r9558 * r9536;
        double r9576 = r9574 - r9575;
        double r9577 = r9573 * r9576;
        double r9578 = r9570 + r9577;
        return r9578;
}


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 r9579 = t;
        float r9580 = j;
        float r9581 = r9579 * r9580;
        float r9582 = k;
        float r9583 = y;
        float r9584 = r9582 * r9583;
        float r9585 = r9581 - r9584;
        float r9586 = b;
        float r9587 = y4;
        float r9588 = r9586 * r9587;
        float r9589 = y5;
        float r9590 = i;
        float r9591 = r9589 * r9590;
        float r9592 = r9588 - r9591;
        float r9593 = r9585 * r9592;
        float r9594 = a;
        float r9595 = r9594 * r9586;
        float r9596 = c;
        float r9597 = r9596 * r9590;
        float r9598 = r9595 - r9597;
        float r9599 = x;
        float r9600 = r9599 * r9583;
        float r9601 = z;
        float r9602 = r9601 * r9579;
        float r9603 = r9600 - r9602;
        float r9604 = r9598 * r9603;
        float r9605 = y0;
        float r9606 = r9605 * r9586;
        float r9607 = y1;
        float r9608 = r9590 * r9607;
        float r9609 = r9606 - r9608;
        float r9610 = r9580 * r9599;
        float r9611 = r9601 * r9582;
        float r9612 = r9610 - r9611;
        float r9613 = r9609 * r9612;
        float r9614 = r9604 - r9613;
        float r9615 = y2;
        float r9616 = r9615 * r9599;
        float r9617 = y3;
        float r9618 = r9601 * r9617;
        float r9619 = r9616 - r9618;
        float r9620 = r9605 * r9596;
        float r9621 = r9607 * r9594;
        float r9622 = r9620 - r9621;
        float r9623 = r9619 * r9622;
        float r9624 = r9614 + r9623;
        float r9625 = r9593 + r9624;
        float r9626 = r9615 * r9579;
        float r9627 = r9583 * r9617;
        float r9628 = r9626 - r9627;
        float r9629 = r9596 * r9587;
        float r9630 = r9594 * r9589;
        float r9631 = r9629 - r9630;
        float r9632 = r9628 * r9631;
        float r9633 = r9625 - r9632;
        float r9634 = r9587 * r9607;
        float r9635 = r9605 * r9589;
        float r9636 = r9634 - r9635;
        float r9637 = r9615 * r9582;
        float r9638 = r9580 * r9617;
        float r9639 = r9637 - r9638;
        float r9640 = r9636 * r9639;
        float r9641 = r9633 + r9640;
        float r9642 = 4.606695857770656e+305f;
        bool r9643 = r9641 <= r9642;
        float r9644 = cbrt(r9640);
        float r9645 = r9644 * r9644;
        float r9646 = r9645 * r9644;
        float r9647 = r9633 + r9646;
        float r9648 = r9604 + r9623;
        float r9649 = r9648 + r9593;
        float r9650 = r9649 - r9632;
        float r9651 = r9640 + r9650;
        float r9652 = r9643 ? r9647 : r9651;
        return r9652;
}

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 r9653 = t;
        double r9654 = j;
        double r9655 = r9653 * r9654;
        double r9656 = k;
        double r9657 = y;
        double r9658 = r9656 * r9657;
        double r9659 = r9655 - r9658;
        double r9660 = b;
        double r9661 = y4;
        double r9662 = r9660 * r9661;
        double r9663 = y5;
        double r9664 = i;
        double r9665 = r9663 * r9664;
        double r9666 = r9662 - r9665;
        double r9667 = r9659 * r9666;
        double r9668 = a;
        double r9669 = r9668 * r9660;
        double r9670 = c;
        double r9671 = r9670 * r9664;
        double r9672 = r9669 - r9671;
        double r9673 = x;
        double r9674 = r9673 * r9657;
        double r9675 = z;
        double r9676 = r9675 * r9653;
        double r9677 = r9674 - r9676;
        double r9678 = r9672 * r9677;
        double r9679 = y0;
        double r9680 = r9679 * r9660;
        double r9681 = y1;
        double r9682 = r9664 * r9681;
        double r9683 = r9680 - r9682;
        double r9684 = r9654 * r9673;
        double r9685 = r9675 * r9656;
        double r9686 = r9684 - r9685;
        double r9687 = r9683 * r9686;
        double r9688 = r9678 - r9687;
        double r9689 = y2;
        double r9690 = r9689 * r9673;
        double r9691 = y3;
        double r9692 = r9675 * r9691;
        double r9693 = r9690 - r9692;
        double r9694 = r9679 * r9670;
        double r9695 = r9681 * r9668;
        double r9696 = r9694 - r9695;
        double r9697 = r9693 * r9696;
        double r9698 = r9688 + r9697;
        double r9699 = r9667 + r9698;
        double r9700 = r9689 * r9653;
        double r9701 = r9657 * r9691;
        double r9702 = r9700 - r9701;
        double r9703 = r9670 * r9661;
        double r9704 = r9668 * r9663;
        double r9705 = r9703 - r9704;
        double r9706 = r9702 * r9705;
        double r9707 = r9699 - r9706;
        double r9708 = r9661 * r9681;
        double r9709 = r9679 * r9663;
        double r9710 = r9708 - r9709;
        double r9711 = r9689 * r9656;
        double r9712 = r9654 * r9691;
        double r9713 = r9711 - r9712;
        double r9714 = r9710 * r9713;
        double r9715 = r9707 + r9714;
        double r9716 = 4.606695857770656e+305;
        bool r9717 = r9715 <= r9716;
        double r9718 = cbrt(r9714);
        double r9719 = r9718 * r9718;
        double r9720 = r9719 * r9718;
        double r9721 = r9707 + r9720;
        double r9722 = r9678 + r9697;
        double r9723 = r9722 + r9667;
        double r9724 = r9723 - r9706;
        double r9725 = r9714 + r9724;
        double r9726 = r9717 ? r9721 : r9725;
        return r9726;
}

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 r9727, r9728, r9729, r9730, r9731, r9732, r9733, r9734, r9735, r9736, r9737, r9738, r9739, r9740, r9741, r9742, r9743, r9744, r9745, r9746, r9747, r9748, r9749, r9750, r9751, r9752, r9753, r9754, r9755, r9756, r9757, r9758, r9759, r9760, r9761, r9762, r9763, r9764, r9765, r9766, r9767, r9768, r9769, r9770, r9771, r9772, r9773, r9774, r9775, r9776, r9777, r9778, r9779, r9780, r9781, r9782, r9783, r9784, r9785, r9786, r9787, r9788, r9789;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9727);
        mpfr_init(r9728);
        mpfr_init(r9729);
        mpfr_init(r9730);
        mpfr_init(r9731);
        mpfr_init(r9732);
        mpfr_init(r9733);
        mpfr_init(r9734);
        mpfr_init(r9735);
        mpfr_init(r9736);
        mpfr_init(r9737);
        mpfr_init(r9738);
        mpfr_init(r9739);
        mpfr_init(r9740);
        mpfr_init(r9741);
        mpfr_init(r9742);
        mpfr_init(r9743);
        mpfr_init(r9744);
        mpfr_init(r9745);
        mpfr_init(r9746);
        mpfr_init(r9747);
        mpfr_init(r9748);
        mpfr_init(r9749);
        mpfr_init(r9750);
        mpfr_init(r9751);
        mpfr_init(r9752);
        mpfr_init(r9753);
        mpfr_init(r9754);
        mpfr_init(r9755);
        mpfr_init(r9756);
        mpfr_init(r9757);
        mpfr_init(r9758);
        mpfr_init(r9759);
        mpfr_init(r9760);
        mpfr_init(r9761);
        mpfr_init(r9762);
        mpfr_init(r9763);
        mpfr_init(r9764);
        mpfr_init(r9765);
        mpfr_init(r9766);
        mpfr_init(r9767);
        mpfr_init(r9768);
        mpfr_init(r9769);
        mpfr_init(r9770);
        mpfr_init(r9771);
        mpfr_init(r9772);
        mpfr_init(r9773);
        mpfr_init(r9774);
        mpfr_init(r9775);
        mpfr_init(r9776);
        mpfr_init(r9777);
        mpfr_init(r9778);
        mpfr_init(r9779);
        mpfr_init(r9780);
        mpfr_init(r9781);
        mpfr_init(r9782);
        mpfr_init(r9783);
        mpfr_init(r9784);
        mpfr_init(r9785);
        mpfr_init(r9786);
        mpfr_init(r9787);
        mpfr_init(r9788);
        mpfr_init(r9789);
}

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(r9727, x, MPFR_RNDN);
        mpfr_set_d(r9728, y, MPFR_RNDN);
        mpfr_mul(r9729, r9727, r9728, MPFR_RNDN);
        mpfr_set_d(r9730, z, MPFR_RNDN);
        mpfr_set_d(r9731, t, MPFR_RNDN);
        mpfr_mul(r9732, r9730, r9731, MPFR_RNDN);
        mpfr_sub(r9733, r9729, r9732, MPFR_RNDN);
        mpfr_set_d(r9734, a, MPFR_RNDN);
        mpfr_set_d(r9735, b, MPFR_RNDN);
        mpfr_mul(r9736, r9734, r9735, MPFR_RNDN);
        mpfr_set_d(r9737, c, MPFR_RNDN);
        mpfr_set_d(r9738, i, MPFR_RNDN);
        mpfr_mul(r9739, r9737, r9738, MPFR_RNDN);
        mpfr_sub(r9740, r9736, r9739, MPFR_RNDN);
        mpfr_mul(r9741, r9733, r9740, MPFR_RNDN);
        mpfr_set_d(r9742, j, MPFR_RNDN);
        mpfr_mul(r9743, r9727, r9742, MPFR_RNDN);
        mpfr_set_d(r9744, k, MPFR_RNDN);
        mpfr_mul(r9745, r9730, r9744, MPFR_RNDN);
        mpfr_sub(r9746, r9743, r9745, MPFR_RNDN);
        mpfr_set_d(r9747, y0, MPFR_RNDN);
        mpfr_mul(r9748, r9747, r9735, MPFR_RNDN);
        mpfr_set_d(r9749, y1, MPFR_RNDN);
        mpfr_mul(r9750, r9749, r9738, MPFR_RNDN);
        mpfr_sub(r9751, r9748, r9750, MPFR_RNDN);
        mpfr_mul(r9752, r9746, r9751, MPFR_RNDN);
        mpfr_sub(r9753, r9741, r9752, MPFR_RNDN);
        mpfr_set_d(r9754, y2, MPFR_RNDN);
        mpfr_mul(r9755, r9727, r9754, MPFR_RNDN);
        mpfr_set_d(r9756, y3, MPFR_RNDN);
        mpfr_mul(r9757, r9730, r9756, MPFR_RNDN);
        mpfr_sub(r9758, r9755, r9757, MPFR_RNDN);
        mpfr_mul(r9759, r9747, r9737, MPFR_RNDN);
        mpfr_mul(r9760, r9749, r9734, MPFR_RNDN);
        mpfr_sub(r9761, r9759, r9760, MPFR_RNDN);
        mpfr_mul(r9762, r9758, r9761, MPFR_RNDN);
        mpfr_add(r9763, r9753, r9762, MPFR_RNDN);
        mpfr_mul(r9764, r9731, r9742, MPFR_RNDN);
        mpfr_mul(r9765, r9728, r9744, MPFR_RNDN);
        mpfr_sub(r9766, r9764, r9765, MPFR_RNDN);
        mpfr_set_d(r9767, y4, MPFR_RNDN);
        mpfr_mul(r9768, r9767, r9735, MPFR_RNDN);
        mpfr_set_d(r9769, y5, MPFR_RNDN);
        mpfr_mul(r9770, r9769, r9738, MPFR_RNDN);
        mpfr_sub(r9771, r9768, r9770, MPFR_RNDN);
        mpfr_mul(r9772, r9766, r9771, MPFR_RNDN);
        mpfr_add(r9773, r9763, r9772, MPFR_RNDN);
        mpfr_mul(r9774, r9731, r9754, MPFR_RNDN);
        mpfr_mul(r9775, r9728, r9756, MPFR_RNDN);
        mpfr_sub(r9776, r9774, r9775, MPFR_RNDN);
        mpfr_mul(r9777, r9767, r9737, MPFR_RNDN);
        mpfr_mul(r9778, r9769, r9734, MPFR_RNDN);
        mpfr_sub(r9779, r9777, r9778, MPFR_RNDN);
        mpfr_mul(r9780, r9776, r9779, MPFR_RNDN);
        mpfr_sub(r9781, r9773, r9780, MPFR_RNDN);
        mpfr_mul(r9782, r9744, r9754, MPFR_RNDN);
        mpfr_mul(r9783, r9742, r9756, MPFR_RNDN);
        mpfr_sub(r9784, r9782, r9783, MPFR_RNDN);
        mpfr_mul(r9785, r9767, r9749, MPFR_RNDN);
        mpfr_mul(r9786, r9769, r9747, MPFR_RNDN);
        mpfr_sub(r9787, r9785, r9786, MPFR_RNDN);
        mpfr_mul(r9788, r9784, r9787, MPFR_RNDN);
        mpfr_add(r9789, r9781, r9788, MPFR_RNDN);
        return mpfr_get_d(r9789, MPFR_RNDN);
}

static mpfr_t r9790, r9791, r9792, r9793, r9794, r9795, r9796, r9797, r9798, r9799, r9800, r9801, r9802, r9803, r9804, r9805, r9806, r9807, r9808, r9809, r9810, r9811, r9812, r9813, r9814, r9815, r9816, r9817, r9818, r9819, r9820, r9821, r9822, r9823, r9824, r9825, r9826, r9827, r9828, r9829, r9830, r9831, r9832, r9833, r9834, r9835, r9836, r9837, r9838, r9839, r9840, r9841, r9842, r9843, r9844, r9845, r9846, r9847, r9848, r9849, r9850, r9851, r9852, r9853, r9854, r9855, r9856, r9857, r9858, r9859, r9860, r9861, r9862, r9863;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9790);
        mpfr_init(r9791);
        mpfr_init(r9792);
        mpfr_init(r9793);
        mpfr_init(r9794);
        mpfr_init(r9795);
        mpfr_init(r9796);
        mpfr_init(r9797);
        mpfr_init(r9798);
        mpfr_init(r9799);
        mpfr_init(r9800);
        mpfr_init(r9801);
        mpfr_init(r9802);
        mpfr_init(r9803);
        mpfr_init(r9804);
        mpfr_init(r9805);
        mpfr_init(r9806);
        mpfr_init(r9807);
        mpfr_init(r9808);
        mpfr_init(r9809);
        mpfr_init(r9810);
        mpfr_init(r9811);
        mpfr_init(r9812);
        mpfr_init(r9813);
        mpfr_init(r9814);
        mpfr_init(r9815);
        mpfr_init(r9816);
        mpfr_init(r9817);
        mpfr_init(r9818);
        mpfr_init(r9819);
        mpfr_init(r9820);
        mpfr_init(r9821);
        mpfr_init(r9822);
        mpfr_init(r9823);
        mpfr_init(r9824);
        mpfr_init(r9825);
        mpfr_init(r9826);
        mpfr_init(r9827);
        mpfr_init(r9828);
        mpfr_init(r9829);
        mpfr_init(r9830);
        mpfr_init(r9831);
        mpfr_init(r9832);
        mpfr_init(r9833);
        mpfr_init(r9834);
        mpfr_init(r9835);
        mpfr_init(r9836);
        mpfr_init(r9837);
        mpfr_init(r9838);
        mpfr_init(r9839);
        mpfr_init(r9840);
        mpfr_init(r9841);
        mpfr_init(r9842);
        mpfr_init(r9843);
        mpfr_init(r9844);
        mpfr_init(r9845);
        mpfr_init(r9846);
        mpfr_init(r9847);
        mpfr_init(r9848);
        mpfr_init(r9849);
        mpfr_init(r9850);
        mpfr_init(r9851);
        mpfr_init(r9852);
        mpfr_init_set_str(r9853, "4.606695857770656e+305", 10, MPFR_RNDN);
        mpfr_init(r9854);
        mpfr_init(r9855);
        mpfr_init(r9856);
        mpfr_init(r9857);
        mpfr_init(r9858);
        mpfr_init(r9859);
        mpfr_init(r9860);
        mpfr_init(r9861);
        mpfr_init(r9862);
        mpfr_init(r9863);
}

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(r9790, t, MPFR_RNDN);
        mpfr_set_d(r9791, j, MPFR_RNDN);
        mpfr_mul(r9792, r9790, r9791, MPFR_RNDN);
        mpfr_set_d(r9793, k, MPFR_RNDN);
        mpfr_set_d(r9794, y, MPFR_RNDN);
        mpfr_mul(r9795, r9793, r9794, MPFR_RNDN);
        mpfr_sub(r9796, r9792, r9795, MPFR_RNDN);
        mpfr_set_d(r9797, b, MPFR_RNDN);
        mpfr_set_d(r9798, y4, MPFR_RNDN);
        mpfr_mul(r9799, r9797, r9798, MPFR_RNDN);
        mpfr_set_d(r9800, y5, MPFR_RNDN);
        mpfr_set_d(r9801, i, MPFR_RNDN);
        mpfr_mul(r9802, r9800, r9801, MPFR_RNDN);
        mpfr_sub(r9803, r9799, r9802, MPFR_RNDN);
        mpfr_mul(r9804, r9796, r9803, MPFR_RNDN);
        mpfr_set_d(r9805, a, MPFR_RNDN);
        mpfr_mul(r9806, r9805, r9797, MPFR_RNDN);
        mpfr_set_d(r9807, c, MPFR_RNDN);
        mpfr_mul(r9808, r9807, r9801, MPFR_RNDN);
        mpfr_sub(r9809, r9806, r9808, MPFR_RNDN);
        mpfr_set_d(r9810, x, MPFR_RNDN);
        mpfr_mul(r9811, r9810, r9794, MPFR_RNDN);
        mpfr_set_d(r9812, z, MPFR_RNDN);
        mpfr_mul(r9813, r9812, r9790, MPFR_RNDN);
        mpfr_sub(r9814, r9811, r9813, MPFR_RNDN);
        mpfr_mul(r9815, r9809, r9814, MPFR_RNDN);
        mpfr_set_d(r9816, y0, MPFR_RNDN);
        mpfr_mul(r9817, r9816, r9797, MPFR_RNDN);
        mpfr_set_d(r9818, y1, MPFR_RNDN);
        mpfr_mul(r9819, r9801, r9818, MPFR_RNDN);
        mpfr_sub(r9820, r9817, r9819, MPFR_RNDN);
        mpfr_mul(r9821, r9791, r9810, MPFR_RNDN);
        mpfr_mul(r9822, r9812, r9793, MPFR_RNDN);
        mpfr_sub(r9823, r9821, r9822, MPFR_RNDN);
        mpfr_mul(r9824, r9820, r9823, MPFR_RNDN);
        mpfr_sub(r9825, r9815, r9824, MPFR_RNDN);
        mpfr_set_d(r9826, y2, MPFR_RNDN);
        mpfr_mul(r9827, r9826, r9810, MPFR_RNDN);
        mpfr_set_d(r9828, y3, MPFR_RNDN);
        mpfr_mul(r9829, r9812, r9828, MPFR_RNDN);
        mpfr_sub(r9830, r9827, r9829, MPFR_RNDN);
        mpfr_mul(r9831, r9816, r9807, MPFR_RNDN);
        mpfr_mul(r9832, r9818, r9805, MPFR_RNDN);
        mpfr_sub(r9833, r9831, r9832, MPFR_RNDN);
        mpfr_mul(r9834, r9830, r9833, MPFR_RNDN);
        mpfr_add(r9835, r9825, r9834, MPFR_RNDN);
        mpfr_add(r9836, r9804, r9835, MPFR_RNDN);
        mpfr_mul(r9837, r9826, r9790, MPFR_RNDN);
        mpfr_mul(r9838, r9794, r9828, MPFR_RNDN);
        mpfr_sub(r9839, r9837, r9838, MPFR_RNDN);
        mpfr_mul(r9840, r9807, r9798, MPFR_RNDN);
        mpfr_mul(r9841, r9805, r9800, MPFR_RNDN);
        mpfr_sub(r9842, r9840, r9841, MPFR_RNDN);
        mpfr_mul(r9843, r9839, r9842, MPFR_RNDN);
        mpfr_sub(r9844, r9836, r9843, MPFR_RNDN);
        mpfr_mul(r9845, r9798, r9818, MPFR_RNDN);
        mpfr_mul(r9846, r9816, r9800, MPFR_RNDN);
        mpfr_sub(r9847, r9845, r9846, MPFR_RNDN);
        mpfr_mul(r9848, r9826, r9793, MPFR_RNDN);
        mpfr_mul(r9849, r9791, r9828, MPFR_RNDN);
        mpfr_sub(r9850, r9848, r9849, MPFR_RNDN);
        mpfr_mul(r9851, r9847, r9850, MPFR_RNDN);
        mpfr_add(r9852, r9844, r9851, MPFR_RNDN);
        ;
        mpfr_set_si(r9854, mpfr_cmp(r9852, r9853) <= 0, MPFR_RNDN);
        mpfr_cbrt(r9855, r9851, MPFR_RNDN);
        mpfr_mul(r9856, r9855, r9855, MPFR_RNDN);
        mpfr_mul(r9857, r9856, r9855, MPFR_RNDN);
        mpfr_add(r9858, r9844, r9857, MPFR_RNDN);
        mpfr_add(r9859, r9815, r9834, MPFR_RNDN);
        mpfr_add(r9860, r9859, r9804, MPFR_RNDN);
        mpfr_sub(r9861, r9860, r9843, MPFR_RNDN);
        mpfr_add(r9862, r9851, r9861, MPFR_RNDN);
        if (mpfr_get_si(r9854, MPFR_RNDN)) { mpfr_set(r9863, r9858, MPFR_RNDN); } else { mpfr_set(r9863, r9862, MPFR_RNDN); };
        return mpfr_get_d(r9863, MPFR_RNDN);
}

static mpfr_t r9864, r9865, r9866, r9867, r9868, r9869, r9870, r9871, r9872, r9873, r9874, r9875, r9876, r9877, r9878, r9879, r9880, r9881, r9882, r9883, r9884, r9885, r9886, r9887, r9888, r9889, r9890, r9891, r9892, r9893, r9894, r9895, r9896, r9897, r9898, r9899, r9900, r9901, r9902, r9903, r9904, r9905, r9906, r9907, r9908, r9909, r9910, r9911, r9912, r9913, r9914, r9915, r9916, r9917, r9918, r9919, r9920, r9921, r9922, r9923, r9924, r9925, r9926, r9927, r9928, r9929, r9930, r9931, r9932, r9933, r9934, r9935, r9936, r9937;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9864);
        mpfr_init(r9865);
        mpfr_init(r9866);
        mpfr_init(r9867);
        mpfr_init(r9868);
        mpfr_init(r9869);
        mpfr_init(r9870);
        mpfr_init(r9871);
        mpfr_init(r9872);
        mpfr_init(r9873);
        mpfr_init(r9874);
        mpfr_init(r9875);
        mpfr_init(r9876);
        mpfr_init(r9877);
        mpfr_init(r9878);
        mpfr_init(r9879);
        mpfr_init(r9880);
        mpfr_init(r9881);
        mpfr_init(r9882);
        mpfr_init(r9883);
        mpfr_init(r9884);
        mpfr_init(r9885);
        mpfr_init(r9886);
        mpfr_init(r9887);
        mpfr_init(r9888);
        mpfr_init(r9889);
        mpfr_init(r9890);
        mpfr_init(r9891);
        mpfr_init(r9892);
        mpfr_init(r9893);
        mpfr_init(r9894);
        mpfr_init(r9895);
        mpfr_init(r9896);
        mpfr_init(r9897);
        mpfr_init(r9898);
        mpfr_init(r9899);
        mpfr_init(r9900);
        mpfr_init(r9901);
        mpfr_init(r9902);
        mpfr_init(r9903);
        mpfr_init(r9904);
        mpfr_init(r9905);
        mpfr_init(r9906);
        mpfr_init(r9907);
        mpfr_init(r9908);
        mpfr_init(r9909);
        mpfr_init(r9910);
        mpfr_init(r9911);
        mpfr_init(r9912);
        mpfr_init(r9913);
        mpfr_init(r9914);
        mpfr_init(r9915);
        mpfr_init(r9916);
        mpfr_init(r9917);
        mpfr_init(r9918);
        mpfr_init(r9919);
        mpfr_init(r9920);
        mpfr_init(r9921);
        mpfr_init(r9922);
        mpfr_init(r9923);
        mpfr_init(r9924);
        mpfr_init(r9925);
        mpfr_init(r9926);
        mpfr_init_set_str(r9927, "4.606695857770656e+305", 10, MPFR_RNDN);
        mpfr_init(r9928);
        mpfr_init(r9929);
        mpfr_init(r9930);
        mpfr_init(r9931);
        mpfr_init(r9932);
        mpfr_init(r9933);
        mpfr_init(r9934);
        mpfr_init(r9935);
        mpfr_init(r9936);
        mpfr_init(r9937);
}

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(r9864, t, MPFR_RNDN);
        mpfr_set_d(r9865, j, MPFR_RNDN);
        mpfr_mul(r9866, r9864, r9865, MPFR_RNDN);
        mpfr_set_d(r9867, k, MPFR_RNDN);
        mpfr_set_d(r9868, y, MPFR_RNDN);
        mpfr_mul(r9869, r9867, r9868, MPFR_RNDN);
        mpfr_sub(r9870, r9866, r9869, MPFR_RNDN);
        mpfr_set_d(r9871, b, MPFR_RNDN);
        mpfr_set_d(r9872, y4, MPFR_RNDN);
        mpfr_mul(r9873, r9871, r9872, MPFR_RNDN);
        mpfr_set_d(r9874, y5, MPFR_RNDN);
        mpfr_set_d(r9875, i, MPFR_RNDN);
        mpfr_mul(r9876, r9874, r9875, MPFR_RNDN);
        mpfr_sub(r9877, r9873, r9876, MPFR_RNDN);
        mpfr_mul(r9878, r9870, r9877, MPFR_RNDN);
        mpfr_set_d(r9879, a, MPFR_RNDN);
        mpfr_mul(r9880, r9879, r9871, MPFR_RNDN);
        mpfr_set_d(r9881, c, MPFR_RNDN);
        mpfr_mul(r9882, r9881, r9875, MPFR_RNDN);
        mpfr_sub(r9883, r9880, r9882, MPFR_RNDN);
        mpfr_set_d(r9884, x, MPFR_RNDN);
        mpfr_mul(r9885, r9884, r9868, MPFR_RNDN);
        mpfr_set_d(r9886, z, MPFR_RNDN);
        mpfr_mul(r9887, r9886, r9864, MPFR_RNDN);
        mpfr_sub(r9888, r9885, r9887, MPFR_RNDN);
        mpfr_mul(r9889, r9883, r9888, MPFR_RNDN);
        mpfr_set_d(r9890, y0, MPFR_RNDN);
        mpfr_mul(r9891, r9890, r9871, MPFR_RNDN);
        mpfr_set_d(r9892, y1, MPFR_RNDN);
        mpfr_mul(r9893, r9875, r9892, MPFR_RNDN);
        mpfr_sub(r9894, r9891, r9893, MPFR_RNDN);
        mpfr_mul(r9895, r9865, r9884, MPFR_RNDN);
        mpfr_mul(r9896, r9886, r9867, MPFR_RNDN);
        mpfr_sub(r9897, r9895, r9896, MPFR_RNDN);
        mpfr_mul(r9898, r9894, r9897, MPFR_RNDN);
        mpfr_sub(r9899, r9889, r9898, MPFR_RNDN);
        mpfr_set_d(r9900, y2, MPFR_RNDN);
        mpfr_mul(r9901, r9900, r9884, MPFR_RNDN);
        mpfr_set_d(r9902, y3, MPFR_RNDN);
        mpfr_mul(r9903, r9886, r9902, MPFR_RNDN);
        mpfr_sub(r9904, r9901, r9903, MPFR_RNDN);
        mpfr_mul(r9905, r9890, r9881, MPFR_RNDN);
        mpfr_mul(r9906, r9892, r9879, MPFR_RNDN);
        mpfr_sub(r9907, r9905, r9906, MPFR_RNDN);
        mpfr_mul(r9908, r9904, r9907, MPFR_RNDN);
        mpfr_add(r9909, r9899, r9908, MPFR_RNDN);
        mpfr_add(r9910, r9878, r9909, MPFR_RNDN);
        mpfr_mul(r9911, r9900, r9864, MPFR_RNDN);
        mpfr_mul(r9912, r9868, r9902, MPFR_RNDN);
        mpfr_sub(r9913, r9911, r9912, MPFR_RNDN);
        mpfr_mul(r9914, r9881, r9872, MPFR_RNDN);
        mpfr_mul(r9915, r9879, r9874, MPFR_RNDN);
        mpfr_sub(r9916, r9914, r9915, MPFR_RNDN);
        mpfr_mul(r9917, r9913, r9916, MPFR_RNDN);
        mpfr_sub(r9918, r9910, r9917, MPFR_RNDN);
        mpfr_mul(r9919, r9872, r9892, MPFR_RNDN);
        mpfr_mul(r9920, r9890, r9874, MPFR_RNDN);
        mpfr_sub(r9921, r9919, r9920, MPFR_RNDN);
        mpfr_mul(r9922, r9900, r9867, MPFR_RNDN);
        mpfr_mul(r9923, r9865, r9902, MPFR_RNDN);
        mpfr_sub(r9924, r9922, r9923, MPFR_RNDN);
        mpfr_mul(r9925, r9921, r9924, MPFR_RNDN);
        mpfr_add(r9926, r9918, r9925, MPFR_RNDN);
        ;
        mpfr_set_si(r9928, mpfr_cmp(r9926, r9927) <= 0, MPFR_RNDN);
        mpfr_cbrt(r9929, r9925, MPFR_RNDN);
        mpfr_mul(r9930, r9929, r9929, MPFR_RNDN);
        mpfr_mul(r9931, r9930, r9929, MPFR_RNDN);
        mpfr_add(r9932, r9918, r9931, MPFR_RNDN);
        mpfr_add(r9933, r9889, r9908, MPFR_RNDN);
        mpfr_add(r9934, r9933, r9878, MPFR_RNDN);
        mpfr_sub(r9935, r9934, r9917, MPFR_RNDN);
        mpfr_add(r9936, r9925, r9935, MPFR_RNDN);
        if (mpfr_get_si(r9928, MPFR_RNDN)) { mpfr_set(r9937, r9932, MPFR_RNDN); } else { mpfr_set(r9937, r9936, MPFR_RNDN); };
        return mpfr_get_d(r9937, MPFR_RNDN);
}

