#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 r16095 = x;
        float r16096 = y;
        float r16097 = r16095 * r16096;
        float r16098 = z;
        float r16099 = t;
        float r16100 = r16098 * r16099;
        float r16101 = r16097 - r16100;
        float r16102 = a;
        float r16103 = b;
        float r16104 = r16102 * r16103;
        float r16105 = c;
        float r16106 = i;
        float r16107 = r16105 * r16106;
        float r16108 = r16104 - r16107;
        float r16109 = r16101 * r16108;
        float r16110 = j;
        float r16111 = r16095 * r16110;
        float r16112 = k;
        float r16113 = r16098 * r16112;
        float r16114 = r16111 - r16113;
        float r16115 = y0;
        float r16116 = r16115 * r16103;
        float r16117 = y1;
        float r16118 = r16117 * r16106;
        float r16119 = r16116 - r16118;
        float r16120 = r16114 * r16119;
        float r16121 = r16109 - r16120;
        float r16122 = y2;
        float r16123 = r16095 * r16122;
        float r16124 = y3;
        float r16125 = r16098 * r16124;
        float r16126 = r16123 - r16125;
        float r16127 = r16115 * r16105;
        float r16128 = r16117 * r16102;
        float r16129 = r16127 - r16128;
        float r16130 = r16126 * r16129;
        float r16131 = r16121 + r16130;
        float r16132 = r16099 * r16110;
        float r16133 = r16096 * r16112;
        float r16134 = r16132 - r16133;
        float r16135 = y4;
        float r16136 = r16135 * r16103;
        float r16137 = y5;
        float r16138 = r16137 * r16106;
        float r16139 = r16136 - r16138;
        float r16140 = r16134 * r16139;
        float r16141 = r16131 + r16140;
        float r16142 = r16099 * r16122;
        float r16143 = r16096 * r16124;
        float r16144 = r16142 - r16143;
        float r16145 = r16135 * r16105;
        float r16146 = r16137 * r16102;
        float r16147 = r16145 - r16146;
        float r16148 = r16144 * r16147;
        float r16149 = r16141 - r16148;
        float r16150 = r16112 * r16122;
        float r16151 = r16110 * r16124;
        float r16152 = r16150 - r16151;
        float r16153 = r16135 * r16117;
        float r16154 = r16137 * r16115;
        float r16155 = r16153 - r16154;
        float r16156 = r16152 * r16155;
        float r16157 = r16149 + r16156;
        return r16157;
}

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 r16158 = x;
        double r16159 = y;
        double r16160 = r16158 * r16159;
        double r16161 = z;
        double r16162 = t;
        double r16163 = r16161 * r16162;
        double r16164 = r16160 - r16163;
        double r16165 = a;
        double r16166 = b;
        double r16167 = r16165 * r16166;
        double r16168 = c;
        double r16169 = i;
        double r16170 = r16168 * r16169;
        double r16171 = r16167 - r16170;
        double r16172 = r16164 * r16171;
        double r16173 = j;
        double r16174 = r16158 * r16173;
        double r16175 = k;
        double r16176 = r16161 * r16175;
        double r16177 = r16174 - r16176;
        double r16178 = y0;
        double r16179 = r16178 * r16166;
        double r16180 = y1;
        double r16181 = r16180 * r16169;
        double r16182 = r16179 - r16181;
        double r16183 = r16177 * r16182;
        double r16184 = r16172 - r16183;
        double r16185 = y2;
        double r16186 = r16158 * r16185;
        double r16187 = y3;
        double r16188 = r16161 * r16187;
        double r16189 = r16186 - r16188;
        double r16190 = r16178 * r16168;
        double r16191 = r16180 * r16165;
        double r16192 = r16190 - r16191;
        double r16193 = r16189 * r16192;
        double r16194 = r16184 + r16193;
        double r16195 = r16162 * r16173;
        double r16196 = r16159 * r16175;
        double r16197 = r16195 - r16196;
        double r16198 = y4;
        double r16199 = r16198 * r16166;
        double r16200 = y5;
        double r16201 = r16200 * r16169;
        double r16202 = r16199 - r16201;
        double r16203 = r16197 * r16202;
        double r16204 = r16194 + r16203;
        double r16205 = r16162 * r16185;
        double r16206 = r16159 * r16187;
        double r16207 = r16205 - r16206;
        double r16208 = r16198 * r16168;
        double r16209 = r16200 * r16165;
        double r16210 = r16208 - r16209;
        double r16211 = r16207 * r16210;
        double r16212 = r16204 - r16211;
        double r16213 = r16175 * r16185;
        double r16214 = r16173 * r16187;
        double r16215 = r16213 - r16214;
        double r16216 = r16198 * r16180;
        double r16217 = r16200 * r16178;
        double r16218 = r16216 - r16217;
        double r16219 = r16215 * r16218;
        double r16220 = r16212 + r16219;
        return r16220;
}


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 r16221 = x;
        float r16222 = y;
        float r16223 = r16221 * r16222;
        float r16224 = z;
        float r16225 = t;
        float r16226 = r16224 * r16225;
        float r16227 = r16223 - r16226;
        float r16228 = a;
        float r16229 = b;
        float r16230 = r16228 * r16229;
        float r16231 = c;
        float r16232 = i;
        float r16233 = r16231 * r16232;
        float r16234 = r16230 - r16233;
        float r16235 = r16227 * r16234;
        float r16236 = j;
        float r16237 = r16221 * r16236;
        float r16238 = k;
        float r16239 = r16224 * r16238;
        float r16240 = r16237 - r16239;
        float r16241 = y0;
        float r16242 = r16241 * r16229;
        float r16243 = y1;
        float r16244 = r16243 * r16232;
        float r16245 = r16242 - r16244;
        float r16246 = r16240 * r16245;
        float r16247 = r16235 - r16246;
        float r16248 = y2;
        float r16249 = r16221 * r16248;
        float r16250 = y3;
        float r16251 = r16224 * r16250;
        float r16252 = r16249 - r16251;
        float r16253 = r16241 * r16231;
        float r16254 = r16243 * r16228;
        float r16255 = r16253 - r16254;
        float r16256 = r16252 * r16255;
        float r16257 = r16247 + r16256;
        float r16258 = r16225 * r16236;
        float r16259 = r16222 * r16238;
        float r16260 = r16258 - r16259;
        float r16261 = y4;
        float r16262 = r16261 * r16229;
        float r16263 = y5;
        float r16264 = r16263 * r16232;
        float r16265 = r16262 - r16264;
        float r16266 = r16260 * r16265;
        float r16267 = cbrt(r16266);
        float r16268 = r16267 * (r16267 * r16267);
        float r16269 = r16257 + r16268;
        float r16270 = r16225 * r16248;
        float r16271 = r16222 * r16250;
        float r16272 = r16270 - r16271;
        float r16273 = r16261 * r16231;
        float r16274 = r16263 * r16228;
        float r16275 = r16273 - r16274;
        float r16276 = r16272 * r16275;
        float r16277 = r16269 - r16276;
        float r16278 = r16238 * r16248;
        float r16279 = r16236 * r16250;
        float r16280 = r16278 - r16279;
        float r16281 = r16261 * r16243;
        float r16282 = r16263 * r16241;
        float r16283 = r16281 - r16282;
        float r16284 = r16280 * r16283;
        float r16285 = r16277 + r16284;
        return r16285;
}

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 r16286 = x;
        double r16287 = y;
        double r16288 = r16286 * r16287;
        double r16289 = z;
        double r16290 = t;
        double r16291 = r16289 * r16290;
        double r16292 = r16288 - r16291;
        double r16293 = a;
        double r16294 = b;
        double r16295 = r16293 * r16294;
        double r16296 = c;
        double r16297 = i;
        double r16298 = r16296 * r16297;
        double r16299 = r16295 - r16298;
        double r16300 = r16292 * r16299;
        double r16301 = j;
        double r16302 = r16286 * r16301;
        double r16303 = k;
        double r16304 = r16289 * r16303;
        double r16305 = r16302 - r16304;
        double r16306 = y0;
        double r16307 = r16306 * r16294;
        double r16308 = y1;
        double r16309 = r16308 * r16297;
        double r16310 = r16307 - r16309;
        double r16311 = r16305 * r16310;
        double r16312 = r16300 - r16311;
        double r16313 = y2;
        double r16314 = r16286 * r16313;
        double r16315 = y3;
        double r16316 = r16289 * r16315;
        double r16317 = r16314 - r16316;
        double r16318 = r16306 * r16296;
        double r16319 = r16308 * r16293;
        double r16320 = r16318 - r16319;
        double r16321 = r16317 * r16320;
        double r16322 = r16312 + r16321;
        double r16323 = r16290 * r16301;
        double r16324 = r16287 * r16303;
        double r16325 = r16323 - r16324;
        double r16326 = y4;
        double r16327 = r16326 * r16294;
        double r16328 = y5;
        double r16329 = r16328 * r16297;
        double r16330 = r16327 - r16329;
        double r16331 = r16325 * r16330;
        double r16332 = cbrt(r16331);
        double r16333 = r16332 * (r16332 * r16332);
        double r16334 = r16322 + r16333;
        double r16335 = r16290 * r16313;
        double r16336 = r16287 * r16315;
        double r16337 = r16335 - r16336;
        double r16338 = r16326 * r16296;
        double r16339 = r16328 * r16293;
        double r16340 = r16338 - r16339;
        double r16341 = r16337 * r16340;
        double r16342 = r16334 - r16341;
        double r16343 = r16303 * r16313;
        double r16344 = r16301 * r16315;
        double r16345 = r16343 - r16344;
        double r16346 = r16326 * r16308;
        double r16347 = r16328 * r16306;
        double r16348 = r16346 - r16347;
        double r16349 = r16345 * r16348;
        double r16350 = r16342 + r16349;
        return r16350;
}

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 r16351, r16352, r16353, r16354, r16355, r16356, r16357, r16358, r16359, r16360, r16361, r16362, r16363, r16364, r16365, r16366, r16367, r16368, r16369, r16370, r16371, r16372, r16373, r16374, r16375, r16376, r16377, r16378, r16379, r16380, r16381, r16382, r16383, r16384, r16385, r16386, r16387, r16388, r16389, r16390, r16391, r16392, r16393, r16394, r16395, r16396, r16397, r16398, r16399, r16400, r16401, r16402, r16403, r16404, r16405, r16406, r16407, r16408, r16409, r16410, r16411, r16412, r16413;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r16351);
        mpfr_init(r16352);
        mpfr_init(r16353);
        mpfr_init(r16354);
        mpfr_init(r16355);
        mpfr_init(r16356);
        mpfr_init(r16357);
        mpfr_init(r16358);
        mpfr_init(r16359);
        mpfr_init(r16360);
        mpfr_init(r16361);
        mpfr_init(r16362);
        mpfr_init(r16363);
        mpfr_init(r16364);
        mpfr_init(r16365);
        mpfr_init(r16366);
        mpfr_init(r16367);
        mpfr_init(r16368);
        mpfr_init(r16369);
        mpfr_init(r16370);
        mpfr_init(r16371);
        mpfr_init(r16372);
        mpfr_init(r16373);
        mpfr_init(r16374);
        mpfr_init(r16375);
        mpfr_init(r16376);
        mpfr_init(r16377);
        mpfr_init(r16378);
        mpfr_init(r16379);
        mpfr_init(r16380);
        mpfr_init(r16381);
        mpfr_init(r16382);
        mpfr_init(r16383);
        mpfr_init(r16384);
        mpfr_init(r16385);
        mpfr_init(r16386);
        mpfr_init(r16387);
        mpfr_init(r16388);
        mpfr_init(r16389);
        mpfr_init(r16390);
        mpfr_init(r16391);
        mpfr_init(r16392);
        mpfr_init(r16393);
        mpfr_init(r16394);
        mpfr_init(r16395);
        mpfr_init(r16396);
        mpfr_init(r16397);
        mpfr_init(r16398);
        mpfr_init(r16399);
        mpfr_init(r16400);
        mpfr_init(r16401);
        mpfr_init(r16402);
        mpfr_init(r16403);
        mpfr_init(r16404);
        mpfr_init(r16405);
        mpfr_init(r16406);
        mpfr_init(r16407);
        mpfr_init(r16408);
        mpfr_init(r16409);
        mpfr_init(r16410);
        mpfr_init(r16411);
        mpfr_init(r16412);
        mpfr_init(r16413);
}

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(r16351, x, MPFR_RNDN);
        mpfr_set_d(r16352, y, MPFR_RNDN);
        mpfr_mul(r16353, r16351, r16352, MPFR_RNDN);
        mpfr_set_d(r16354, z, MPFR_RNDN);
        mpfr_set_d(r16355, t, MPFR_RNDN);
        mpfr_mul(r16356, r16354, r16355, MPFR_RNDN);
        mpfr_sub(r16357, r16353, r16356, MPFR_RNDN);
        mpfr_set_d(r16358, a, MPFR_RNDN);
        mpfr_set_d(r16359, b, MPFR_RNDN);
        mpfr_mul(r16360, r16358, r16359, MPFR_RNDN);
        mpfr_set_d(r16361, c, MPFR_RNDN);
        mpfr_set_d(r16362, i, MPFR_RNDN);
        mpfr_mul(r16363, r16361, r16362, MPFR_RNDN);
        mpfr_sub(r16364, r16360, r16363, MPFR_RNDN);
        mpfr_mul(r16365, r16357, r16364, MPFR_RNDN);
        mpfr_set_d(r16366, j, MPFR_RNDN);
        mpfr_mul(r16367, r16351, r16366, MPFR_RNDN);
        mpfr_set_d(r16368, k, MPFR_RNDN);
        mpfr_mul(r16369, r16354, r16368, MPFR_RNDN);
        mpfr_sub(r16370, r16367, r16369, MPFR_RNDN);
        mpfr_set_d(r16371, y0, MPFR_RNDN);
        mpfr_mul(r16372, r16371, r16359, MPFR_RNDN);
        mpfr_set_d(r16373, y1, MPFR_RNDN);
        mpfr_mul(r16374, r16373, r16362, MPFR_RNDN);
        mpfr_sub(r16375, r16372, r16374, MPFR_RNDN);
        mpfr_mul(r16376, r16370, r16375, MPFR_RNDN);
        mpfr_sub(r16377, r16365, r16376, MPFR_RNDN);
        mpfr_set_d(r16378, y2, MPFR_RNDN);
        mpfr_mul(r16379, r16351, r16378, MPFR_RNDN);
        mpfr_set_d(r16380, y3, MPFR_RNDN);
        mpfr_mul(r16381, r16354, r16380, MPFR_RNDN);
        mpfr_sub(r16382, r16379, r16381, MPFR_RNDN);
        mpfr_mul(r16383, r16371, r16361, MPFR_RNDN);
        mpfr_mul(r16384, r16373, r16358, MPFR_RNDN);
        mpfr_sub(r16385, r16383, r16384, MPFR_RNDN);
        mpfr_mul(r16386, r16382, r16385, MPFR_RNDN);
        mpfr_add(r16387, r16377, r16386, MPFR_RNDN);
        mpfr_mul(r16388, r16355, r16366, MPFR_RNDN);
        mpfr_mul(r16389, r16352, r16368, MPFR_RNDN);
        mpfr_sub(r16390, r16388, r16389, MPFR_RNDN);
        mpfr_set_d(r16391, y4, MPFR_RNDN);
        mpfr_mul(r16392, r16391, r16359, MPFR_RNDN);
        mpfr_set_d(r16393, y5, MPFR_RNDN);
        mpfr_mul(r16394, r16393, r16362, MPFR_RNDN);
        mpfr_sub(r16395, r16392, r16394, MPFR_RNDN);
        mpfr_mul(r16396, r16390, r16395, MPFR_RNDN);
        mpfr_add(r16397, r16387, r16396, MPFR_RNDN);
        mpfr_mul(r16398, r16355, r16378, MPFR_RNDN);
        mpfr_mul(r16399, r16352, r16380, MPFR_RNDN);
        mpfr_sub(r16400, r16398, r16399, MPFR_RNDN);
        mpfr_mul(r16401, r16391, r16361, MPFR_RNDN);
        mpfr_mul(r16402, r16393, r16358, MPFR_RNDN);
        mpfr_sub(r16403, r16401, r16402, MPFR_RNDN);
        mpfr_mul(r16404, r16400, r16403, MPFR_RNDN);
        mpfr_sub(r16405, r16397, r16404, MPFR_RNDN);
        mpfr_mul(r16406, r16368, r16378, MPFR_RNDN);
        mpfr_mul(r16407, r16366, r16380, MPFR_RNDN);
        mpfr_sub(r16408, r16406, r16407, MPFR_RNDN);
        mpfr_mul(r16409, r16391, r16373, MPFR_RNDN);
        mpfr_mul(r16410, r16393, r16371, MPFR_RNDN);
        mpfr_sub(r16411, r16409, r16410, MPFR_RNDN);
        mpfr_mul(r16412, r16408, r16411, MPFR_RNDN);
        mpfr_add(r16413, r16405, r16412, MPFR_RNDN);
        return mpfr_get_d(r16413, MPFR_RNDN);
}

static mpfr_t r16414, r16415, r16416, r16417, r16418, r16419, r16420, r16421, r16422, r16423, r16424, r16425, r16426, r16427, r16428, r16429, r16430, r16431, r16432, r16433, r16434, r16435, r16436, r16437, r16438, r16439, r16440, r16441, r16442, r16443, r16444, r16445, r16446, r16447, r16448, r16449, r16450, r16451, r16452, r16453, r16454, r16455, r16456, r16457, r16458, r16459, r16460, r16461, r16462, r16463, r16464, r16465, r16466, r16467, r16468, r16469, r16470, r16471, r16472, r16473, r16474, r16475, r16476, r16477, r16478;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r16414);
        mpfr_init(r16415);
        mpfr_init(r16416);
        mpfr_init(r16417);
        mpfr_init(r16418);
        mpfr_init(r16419);
        mpfr_init(r16420);
        mpfr_init(r16421);
        mpfr_init(r16422);
        mpfr_init(r16423);
        mpfr_init(r16424);
        mpfr_init(r16425);
        mpfr_init(r16426);
        mpfr_init(r16427);
        mpfr_init(r16428);
        mpfr_init(r16429);
        mpfr_init(r16430);
        mpfr_init(r16431);
        mpfr_init(r16432);
        mpfr_init(r16433);
        mpfr_init(r16434);
        mpfr_init(r16435);
        mpfr_init(r16436);
        mpfr_init(r16437);
        mpfr_init(r16438);
        mpfr_init(r16439);
        mpfr_init(r16440);
        mpfr_init(r16441);
        mpfr_init(r16442);
        mpfr_init(r16443);
        mpfr_init(r16444);
        mpfr_init(r16445);
        mpfr_init(r16446);
        mpfr_init(r16447);
        mpfr_init(r16448);
        mpfr_init(r16449);
        mpfr_init(r16450);
        mpfr_init(r16451);
        mpfr_init(r16452);
        mpfr_init(r16453);
        mpfr_init(r16454);
        mpfr_init(r16455);
        mpfr_init(r16456);
        mpfr_init(r16457);
        mpfr_init(r16458);
        mpfr_init(r16459);
        mpfr_init(r16460);
        mpfr_init(r16461);
        mpfr_init(r16462);
        mpfr_init(r16463);
        mpfr_init(r16464);
        mpfr_init(r16465);
        mpfr_init(r16466);
        mpfr_init(r16467);
        mpfr_init(r16468);
        mpfr_init(r16469);
        mpfr_init(r16470);
        mpfr_init(r16471);
        mpfr_init(r16472);
        mpfr_init(r16473);
        mpfr_init(r16474);
        mpfr_init(r16475);
        mpfr_init(r16476);
        mpfr_init(r16477);
        mpfr_init(r16478);
}

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(r16414, x, MPFR_RNDN);
        mpfr_set_d(r16415, y, MPFR_RNDN);
        mpfr_mul(r16416, r16414, r16415, MPFR_RNDN);
        mpfr_set_d(r16417, z, MPFR_RNDN);
        mpfr_set_d(r16418, t, MPFR_RNDN);
        mpfr_mul(r16419, r16417, r16418, MPFR_RNDN);
        mpfr_sub(r16420, r16416, r16419, MPFR_RNDN);
        mpfr_set_d(r16421, a, MPFR_RNDN);
        mpfr_set_d(r16422, b, MPFR_RNDN);
        mpfr_mul(r16423, r16421, r16422, MPFR_RNDN);
        mpfr_set_d(r16424, c, MPFR_RNDN);
        mpfr_set_d(r16425, i, MPFR_RNDN);
        mpfr_mul(r16426, r16424, r16425, MPFR_RNDN);
        mpfr_sub(r16427, r16423, r16426, MPFR_RNDN);
        mpfr_mul(r16428, r16420, r16427, MPFR_RNDN);
        mpfr_set_d(r16429, j, MPFR_RNDN);
        mpfr_mul(r16430, r16414, r16429, MPFR_RNDN);
        mpfr_set_d(r16431, k, MPFR_RNDN);
        mpfr_mul(r16432, r16417, r16431, MPFR_RNDN);
        mpfr_sub(r16433, r16430, r16432, MPFR_RNDN);
        mpfr_set_d(r16434, y0, MPFR_RNDN);
        mpfr_mul(r16435, r16434, r16422, MPFR_RNDN);
        mpfr_set_d(r16436, y1, MPFR_RNDN);
        mpfr_mul(r16437, r16436, r16425, MPFR_RNDN);
        mpfr_sub(r16438, r16435, r16437, MPFR_RNDN);
        mpfr_mul(r16439, r16433, r16438, MPFR_RNDN);
        mpfr_sub(r16440, r16428, r16439, MPFR_RNDN);
        mpfr_set_d(r16441, y2, MPFR_RNDN);
        mpfr_mul(r16442, r16414, r16441, MPFR_RNDN);
        mpfr_set_d(r16443, y3, MPFR_RNDN);
        mpfr_mul(r16444, r16417, r16443, MPFR_RNDN);
        mpfr_sub(r16445, r16442, r16444, MPFR_RNDN);
        mpfr_mul(r16446, r16434, r16424, MPFR_RNDN);
        mpfr_mul(r16447, r16436, r16421, MPFR_RNDN);
        mpfr_sub(r16448, r16446, r16447, MPFR_RNDN);
        mpfr_mul(r16449, r16445, r16448, MPFR_RNDN);
        mpfr_add(r16450, r16440, r16449, MPFR_RNDN);
        mpfr_mul(r16451, r16418, r16429, MPFR_RNDN);
        mpfr_mul(r16452, r16415, r16431, MPFR_RNDN);
        mpfr_sub(r16453, r16451, r16452, MPFR_RNDN);
        mpfr_set_d(r16454, y4, MPFR_RNDN);
        mpfr_mul(r16455, r16454, r16422, MPFR_RNDN);
        mpfr_set_d(r16456, y5, MPFR_RNDN);
        mpfr_mul(r16457, r16456, r16425, MPFR_RNDN);
        mpfr_sub(r16458, r16455, r16457, MPFR_RNDN);
        mpfr_mul(r16459, r16453, r16458, MPFR_RNDN);
        mpfr_cbrt(r16460, r16459, MPFR_RNDN);
        mpfr_mul(r16461, r16460, r16460, MPFR_RNDN); mpfr_mul(r16461, r16461, r16460, MPFR_RNDN);
        mpfr_add(r16462, r16450, r16461, MPFR_RNDN);
        mpfr_mul(r16463, r16418, r16441, MPFR_RNDN);
        mpfr_mul(r16464, r16415, r16443, MPFR_RNDN);
        mpfr_sub(r16465, r16463, r16464, MPFR_RNDN);
        mpfr_mul(r16466, r16454, r16424, MPFR_RNDN);
        mpfr_mul(r16467, r16456, r16421, MPFR_RNDN);
        mpfr_sub(r16468, r16466, r16467, MPFR_RNDN);
        mpfr_mul(r16469, r16465, r16468, MPFR_RNDN);
        mpfr_sub(r16470, r16462, r16469, MPFR_RNDN);
        mpfr_mul(r16471, r16431, r16441, MPFR_RNDN);
        mpfr_mul(r16472, r16429, r16443, MPFR_RNDN);
        mpfr_sub(r16473, r16471, r16472, MPFR_RNDN);
        mpfr_mul(r16474, r16454, r16436, MPFR_RNDN);
        mpfr_mul(r16475, r16456, r16434, MPFR_RNDN);
        mpfr_sub(r16476, r16474, r16475, MPFR_RNDN);
        mpfr_mul(r16477, r16473, r16476, MPFR_RNDN);
        mpfr_add(r16478, r16470, r16477, MPFR_RNDN);
        return mpfr_get_d(r16478, MPFR_RNDN);
}

static mpfr_t r16479, r16480, r16481, r16482, r16483, r16484, r16485, r16486, r16487, r16488, r16489, r16490, r16491, r16492, r16493, r16494, r16495, r16496, r16497, r16498, r16499, r16500, r16501, r16502, r16503, r16504, r16505, r16506, r16507, r16508, r16509, r16510, r16511, r16512, r16513, r16514, r16515, r16516, r16517, r16518, r16519, r16520, r16521, r16522, r16523, r16524, r16525, r16526, r16527, r16528, r16529, r16530, r16531, r16532, r16533, r16534, r16535, r16536, r16537, r16538, r16539, r16540, r16541, r16542, r16543;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r16479);
        mpfr_init(r16480);
        mpfr_init(r16481);
        mpfr_init(r16482);
        mpfr_init(r16483);
        mpfr_init(r16484);
        mpfr_init(r16485);
        mpfr_init(r16486);
        mpfr_init(r16487);
        mpfr_init(r16488);
        mpfr_init(r16489);
        mpfr_init(r16490);
        mpfr_init(r16491);
        mpfr_init(r16492);
        mpfr_init(r16493);
        mpfr_init(r16494);
        mpfr_init(r16495);
        mpfr_init(r16496);
        mpfr_init(r16497);
        mpfr_init(r16498);
        mpfr_init(r16499);
        mpfr_init(r16500);
        mpfr_init(r16501);
        mpfr_init(r16502);
        mpfr_init(r16503);
        mpfr_init(r16504);
        mpfr_init(r16505);
        mpfr_init(r16506);
        mpfr_init(r16507);
        mpfr_init(r16508);
        mpfr_init(r16509);
        mpfr_init(r16510);
        mpfr_init(r16511);
        mpfr_init(r16512);
        mpfr_init(r16513);
        mpfr_init(r16514);
        mpfr_init(r16515);
        mpfr_init(r16516);
        mpfr_init(r16517);
        mpfr_init(r16518);
        mpfr_init(r16519);
        mpfr_init(r16520);
        mpfr_init(r16521);
        mpfr_init(r16522);
        mpfr_init(r16523);
        mpfr_init(r16524);
        mpfr_init(r16525);
        mpfr_init(r16526);
        mpfr_init(r16527);
        mpfr_init(r16528);
        mpfr_init(r16529);
        mpfr_init(r16530);
        mpfr_init(r16531);
        mpfr_init(r16532);
        mpfr_init(r16533);
        mpfr_init(r16534);
        mpfr_init(r16535);
        mpfr_init(r16536);
        mpfr_init(r16537);
        mpfr_init(r16538);
        mpfr_init(r16539);
        mpfr_init(r16540);
        mpfr_init(r16541);
        mpfr_init(r16542);
        mpfr_init(r16543);
}

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(r16479, x, MPFR_RNDN);
        mpfr_set_d(r16480, y, MPFR_RNDN);
        mpfr_mul(r16481, r16479, r16480, MPFR_RNDN);
        mpfr_set_d(r16482, z, MPFR_RNDN);
        mpfr_set_d(r16483, t, MPFR_RNDN);
        mpfr_mul(r16484, r16482, r16483, MPFR_RNDN);
        mpfr_sub(r16485, r16481, r16484, MPFR_RNDN);
        mpfr_set_d(r16486, a, MPFR_RNDN);
        mpfr_set_d(r16487, b, MPFR_RNDN);
        mpfr_mul(r16488, r16486, r16487, MPFR_RNDN);
        mpfr_set_d(r16489, c, MPFR_RNDN);
        mpfr_set_d(r16490, i, MPFR_RNDN);
        mpfr_mul(r16491, r16489, r16490, MPFR_RNDN);
        mpfr_sub(r16492, r16488, r16491, MPFR_RNDN);
        mpfr_mul(r16493, r16485, r16492, MPFR_RNDN);
        mpfr_set_d(r16494, j, MPFR_RNDN);
        mpfr_mul(r16495, r16479, r16494, MPFR_RNDN);
        mpfr_set_d(r16496, k, MPFR_RNDN);
        mpfr_mul(r16497, r16482, r16496, MPFR_RNDN);
        mpfr_sub(r16498, r16495, r16497, MPFR_RNDN);
        mpfr_set_d(r16499, y0, MPFR_RNDN);
        mpfr_mul(r16500, r16499, r16487, MPFR_RNDN);
        mpfr_set_d(r16501, y1, MPFR_RNDN);
        mpfr_mul(r16502, r16501, r16490, MPFR_RNDN);
        mpfr_sub(r16503, r16500, r16502, MPFR_RNDN);
        mpfr_mul(r16504, r16498, r16503, MPFR_RNDN);
        mpfr_sub(r16505, r16493, r16504, MPFR_RNDN);
        mpfr_set_d(r16506, y2, MPFR_RNDN);
        mpfr_mul(r16507, r16479, r16506, MPFR_RNDN);
        mpfr_set_d(r16508, y3, MPFR_RNDN);
        mpfr_mul(r16509, r16482, r16508, MPFR_RNDN);
        mpfr_sub(r16510, r16507, r16509, MPFR_RNDN);
        mpfr_mul(r16511, r16499, r16489, MPFR_RNDN);
        mpfr_mul(r16512, r16501, r16486, MPFR_RNDN);
        mpfr_sub(r16513, r16511, r16512, MPFR_RNDN);
        mpfr_mul(r16514, r16510, r16513, MPFR_RNDN);
        mpfr_add(r16515, r16505, r16514, MPFR_RNDN);
        mpfr_mul(r16516, r16483, r16494, MPFR_RNDN);
        mpfr_mul(r16517, r16480, r16496, MPFR_RNDN);
        mpfr_sub(r16518, r16516, r16517, MPFR_RNDN);
        mpfr_set_d(r16519, y4, MPFR_RNDN);
        mpfr_mul(r16520, r16519, r16487, MPFR_RNDN);
        mpfr_set_d(r16521, y5, MPFR_RNDN);
        mpfr_mul(r16522, r16521, r16490, MPFR_RNDN);
        mpfr_sub(r16523, r16520, r16522, MPFR_RNDN);
        mpfr_mul(r16524, r16518, r16523, MPFR_RNDN);
        mpfr_cbrt(r16525, r16524, MPFR_RNDN);
        mpfr_mul(r16526, r16525, r16525, MPFR_RNDN); mpfr_mul(r16526, r16526, r16525, MPFR_RNDN);
        mpfr_add(r16527, r16515, r16526, MPFR_RNDN);
        mpfr_mul(r16528, r16483, r16506, MPFR_RNDN);
        mpfr_mul(r16529, r16480, r16508, MPFR_RNDN);
        mpfr_sub(r16530, r16528, r16529, MPFR_RNDN);
        mpfr_mul(r16531, r16519, r16489, MPFR_RNDN);
        mpfr_mul(r16532, r16521, r16486, MPFR_RNDN);
        mpfr_sub(r16533, r16531, r16532, MPFR_RNDN);
        mpfr_mul(r16534, r16530, r16533, MPFR_RNDN);
        mpfr_sub(r16535, r16527, r16534, MPFR_RNDN);
        mpfr_mul(r16536, r16496, r16506, MPFR_RNDN);
        mpfr_mul(r16537, r16494, r16508, MPFR_RNDN);
        mpfr_sub(r16538, r16536, r16537, MPFR_RNDN);
        mpfr_mul(r16539, r16519, r16501, MPFR_RNDN);
        mpfr_mul(r16540, r16521, r16499, MPFR_RNDN);
        mpfr_sub(r16541, r16539, r16540, MPFR_RNDN);
        mpfr_mul(r16542, r16538, r16541, MPFR_RNDN);
        mpfr_add(r16543, r16535, r16542, MPFR_RNDN);
        return mpfr_get_d(r16543, MPFR_RNDN);
}

