#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 r17101 = x;
        float r17102 = y;
        float r17103 = r17101 * r17102;
        float r17104 = z;
        float r17105 = t;
        float r17106 = r17104 * r17105;
        float r17107 = r17103 - r17106;
        float r17108 = a;
        float r17109 = b;
        float r17110 = r17108 * r17109;
        float r17111 = c;
        float r17112 = i;
        float r17113 = r17111 * r17112;
        float r17114 = r17110 - r17113;
        float r17115 = r17107 * r17114;
        float r17116 = j;
        float r17117 = r17101 * r17116;
        float r17118 = k;
        float r17119 = r17104 * r17118;
        float r17120 = r17117 - r17119;
        float r17121 = y0;
        float r17122 = r17121 * r17109;
        float r17123 = y1;
        float r17124 = r17123 * r17112;
        float r17125 = r17122 - r17124;
        float r17126 = r17120 * r17125;
        float r17127 = r17115 - r17126;
        float r17128 = y2;
        float r17129 = r17101 * r17128;
        float r17130 = y3;
        float r17131 = r17104 * r17130;
        float r17132 = r17129 - r17131;
        float r17133 = r17121 * r17111;
        float r17134 = r17123 * r17108;
        float r17135 = r17133 - r17134;
        float r17136 = r17132 * r17135;
        float r17137 = r17127 + r17136;
        float r17138 = r17105 * r17116;
        float r17139 = r17102 * r17118;
        float r17140 = r17138 - r17139;
        float r17141 = y4;
        float r17142 = r17141 * r17109;
        float r17143 = y5;
        float r17144 = r17143 * r17112;
        float r17145 = r17142 - r17144;
        float r17146 = r17140 * r17145;
        float r17147 = r17137 + r17146;
        float r17148 = r17105 * r17128;
        float r17149 = r17102 * r17130;
        float r17150 = r17148 - r17149;
        float r17151 = r17141 * r17111;
        float r17152 = r17143 * r17108;
        float r17153 = r17151 - r17152;
        float r17154 = r17150 * r17153;
        float r17155 = r17147 - r17154;
        float r17156 = r17118 * r17128;
        float r17157 = r17116 * r17130;
        float r17158 = r17156 - r17157;
        float r17159 = r17141 * r17123;
        float r17160 = r17143 * r17121;
        float r17161 = r17159 - r17160;
        float r17162 = r17158 * r17161;
        float r17163 = r17155 + r17162;
        return r17163;
}

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


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 r17227 = y3;
        float r17228 = -2.765498668608906e-144f;
        bool r17229 = r17227 <= r17228;
        float r17230 = y4;
        float r17231 = y1;
        float r17232 = r17230 * r17231;
        float r17233 = y0;
        float r17234 = y5;
        float r17235 = r17233 * r17234;
        float r17236 = r17232 - r17235;
        float r17237 = y2;
        float r17238 = k;
        float r17239 = r17237 * r17238;
        float r17240 = j;
        float r17241 = r17240 * r17227;
        float r17242 = r17239 - r17241;
        float r17243 = r17236 * r17242;
        float r17244 = a;
        float r17245 = b;
        float r17246 = r17244 * r17245;
        float r17247 = c;
        float r17248 = i;
        float r17249 = r17247 * r17248;
        float r17250 = r17246 - r17249;
        float r17251 = y;
        float r17252 = x;
        float r17253 = r17251 * r17252;
        float r17254 = t;
        float r17255 = z;
        float r17256 = r17254 * r17255;
        float r17257 = r17253 - r17256;
        float r17258 = r17254 * r17240;
        float r17259 = r17238 * r17251;
        float r17260 = r17258 - r17259;
        float r17261 = r17230 * r17245;
        float r17262 = r17234 * r17248;
        float r17263 = r17261 - r17262;
        float r17264 = r17237 * r17252;
        float r17265 = r17255 * r17227;
        float r17266 = r17264 - r17265;
        float r17267 = r17233 * r17247;
        float r17268 = r17244 * r17231;
        float r17269 = r17267 - r17268;
        float r17270 = r17266 * r17269;
        float r17271 = fma(r17260, r17263, r17270);
        float r17272 = fma(r17250, r17257, r17271);
        float r17273 = cbrt(r17272);
        float r17274 = r17273 * (r17273 * r17273);
        float r17275 = r17240 * r17252;
        float r17276 = r17255 * r17238;
        float r17277 = r17275 - r17276;
        float r17278 = r17245 * r17233;
        float r17279 = r17231 * r17248;
        float r17280 = r17278 - r17279;
        float r17281 = r17230 * r17247;
        float r17282 = r17234 * r17244;
        float r17283 = r17281 - r17282;
        float r17284 = r17254 * r17237;
        float r17285 = r17251 * r17227;
        float r17286 = r17284 - r17285;
        float r17287 = r17283 * r17286;
        float r17288 = fma(r17277, r17280, r17287);
        float r17289 = r17274 - r17288;
        float r17290 = r17243 + r17289;
        float r17291 = 3.1605934446652916e+99f;
        bool r17292 = r17227 <= r17291;
        float r17293 = r17245 * r17244;
        float r17294 = r17248 * r17247;
        float r17295 = r17293 - r17294;
        float r17296 = r17252 * r17251;
        float r17297 = r17255 * r17254;
        float r17298 = r17296 - r17297;
        float r17299 = r17240 * r17254;
        float r17300 = r17299 - r17259;
        float r17301 = r17248 * r17234;
        float r17302 = r17261 - r17301;
        float r17303 = r17247 * r17233;
        float r17304 = r17231 * r17244;
        float r17305 = r17303 - r17304;
        float r17306 = r17227 * r17255;
        float r17307 = r17264 - r17306;
        float r17308 = r17305 * r17307;
        float r17309 = fma(r17300, r17302, r17308);
        float r17310 = fma(r17295, r17298, r17309);
        float r17311 = r17238 * r17255;
        float r17312 = r17275 - r17311;
        float r17313 = r17233 * r17245;
        float r17314 = r17313 - r17279;
        float r17315 = r17244 * r17234;
        float r17316 = r17281 - r17315;
        float r17317 = r17237 * r17254;
        float r17318 = r17317 - r17285;
        float r17319 = r17316 * r17318;
        float r17320 = fma(r17312, r17314, r17319);
        float r17321 = r17234 * r17240;
        float r17322 = r17233 * r17227;
        float r17323 = r17321 * r17322;
        float r17324 = r17231 * r17227;
        float r17325 = r17230 * r17324;
        float r17326 = r17237 * r17233;
        float r17327 = r17234 * r17238;
        float r17328 = r17326 * r17327;
        float r17329 = fma(r17325, r17240, r17328);
        float r17330 = r17323 - r17329;
        float r17331 = r17320 - r17330;
        float r17332 = r17310 - r17331;
        float r17333 = r17234 * r17233;
        float r17334 = r17232 - r17333;
        float r17335 = r17238 * r17237;
        float r17336 = r17335 - r17241;
        float r17337 = r17251 * r17238;
        float r17338 = r17299 - r17337;
        float r17339 = r17252 * r17237;
        float r17340 = r17339 - r17265;
        float r17341 = r17340 * r17305;
        float r17342 = fma(r17338, r17263, r17341);
        float r17343 = fma(r17334, r17336, r17342);
        float r17344 = fma(r17312, r17280, r17287);
        float r17345 = r17343 - r17344;
        float r17346 = r17292 ? r17332 : r17345;
        float r17347 = r17229 ? r17290 : r17346;
        return r17347;
}

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 r17348 = y3;
        double r17349 = -2.765498668608906e-144;
        bool r17350 = r17348 <= r17349;
        double r17351 = y4;
        double r17352 = y1;
        double r17353 = r17351 * r17352;
        double r17354 = y0;
        double r17355 = y5;
        double r17356 = r17354 * r17355;
        double r17357 = r17353 - r17356;
        double r17358 = y2;
        double r17359 = k;
        double r17360 = r17358 * r17359;
        double r17361 = j;
        double r17362 = r17361 * r17348;
        double r17363 = r17360 - r17362;
        double r17364 = r17357 * r17363;
        double r17365 = a;
        double r17366 = b;
        double r17367 = r17365 * r17366;
        double r17368 = c;
        double r17369 = i;
        double r17370 = r17368 * r17369;
        double r17371 = r17367 - r17370;
        double r17372 = y;
        double r17373 = x;
        double r17374 = r17372 * r17373;
        double r17375 = t;
        double r17376 = z;
        double r17377 = r17375 * r17376;
        double r17378 = r17374 - r17377;
        double r17379 = r17375 * r17361;
        double r17380 = r17359 * r17372;
        double r17381 = r17379 - r17380;
        double r17382 = r17351 * r17366;
        double r17383 = r17355 * r17369;
        double r17384 = r17382 - r17383;
        double r17385 = r17358 * r17373;
        double r17386 = r17376 * r17348;
        double r17387 = r17385 - r17386;
        double r17388 = r17354 * r17368;
        double r17389 = r17365 * r17352;
        double r17390 = r17388 - r17389;
        double r17391 = r17387 * r17390;
        double r17392 = fma(r17381, r17384, r17391);
        double r17393 = fma(r17371, r17378, r17392);
        double r17394 = cbrt(r17393);
        double r17395 = r17394 * (r17394 * r17394);
        double r17396 = r17361 * r17373;
        double r17397 = r17376 * r17359;
        double r17398 = r17396 - r17397;
        double r17399 = r17366 * r17354;
        double r17400 = r17352 * r17369;
        double r17401 = r17399 - r17400;
        double r17402 = r17351 * r17368;
        double r17403 = r17355 * r17365;
        double r17404 = r17402 - r17403;
        double r17405 = r17375 * r17358;
        double r17406 = r17372 * r17348;
        double r17407 = r17405 - r17406;
        double r17408 = r17404 * r17407;
        double r17409 = fma(r17398, r17401, r17408);
        double r17410 = r17395 - r17409;
        double r17411 = r17364 + r17410;
        double r17412 = 3.1605934446652916e+99;
        bool r17413 = r17348 <= r17412;
        double r17414 = r17366 * r17365;
        double r17415 = r17369 * r17368;
        double r17416 = r17414 - r17415;
        double r17417 = r17373 * r17372;
        double r17418 = r17376 * r17375;
        double r17419 = r17417 - r17418;
        double r17420 = r17361 * r17375;
        double r17421 = r17420 - r17380;
        double r17422 = r17369 * r17355;
        double r17423 = r17382 - r17422;
        double r17424 = r17368 * r17354;
        double r17425 = r17352 * r17365;
        double r17426 = r17424 - r17425;
        double r17427 = r17348 * r17376;
        double r17428 = r17385 - r17427;
        double r17429 = r17426 * r17428;
        double r17430 = fma(r17421, r17423, r17429);
        double r17431 = fma(r17416, r17419, r17430);
        double r17432 = r17359 * r17376;
        double r17433 = r17396 - r17432;
        double r17434 = r17354 * r17366;
        double r17435 = r17434 - r17400;
        double r17436 = r17365 * r17355;
        double r17437 = r17402 - r17436;
        double r17438 = r17358 * r17375;
        double r17439 = r17438 - r17406;
        double r17440 = r17437 * r17439;
        double r17441 = fma(r17433, r17435, r17440);
        double r17442 = r17355 * r17361;
        double r17443 = r17354 * r17348;
        double r17444 = r17442 * r17443;
        double r17445 = r17352 * r17348;
        double r17446 = r17351 * r17445;
        double r17447 = r17358 * r17354;
        double r17448 = r17355 * r17359;
        double r17449 = r17447 * r17448;
        double r17450 = fma(r17446, r17361, r17449);
        double r17451 = r17444 - r17450;
        double r17452 = r17441 - r17451;
        double r17453 = r17431 - r17452;
        double r17454 = r17355 * r17354;
        double r17455 = r17353 - r17454;
        double r17456 = r17359 * r17358;
        double r17457 = r17456 - r17362;
        double r17458 = r17372 * r17359;
        double r17459 = r17420 - r17458;
        double r17460 = r17373 * r17358;
        double r17461 = r17460 - r17386;
        double r17462 = r17461 * r17426;
        double r17463 = fma(r17459, r17384, r17462);
        double r17464 = fma(r17455, r17457, r17463);
        double r17465 = fma(r17433, r17401, r17408);
        double r17466 = r17464 - r17465;
        double r17467 = r17413 ? r17453 : r17466;
        double r17468 = r17350 ? r17411 : r17467;
        return r17468;
}

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 r17469, r17470, r17471, r17472, r17473, r17474, r17475, r17476, r17477, r17478, r17479, r17480, r17481, r17482, r17483, r17484, r17485, r17486, r17487, r17488, r17489, r17490, r17491, r17492, r17493, r17494, r17495, r17496, r17497, r17498, r17499, r17500, r17501, r17502, r17503, r17504, r17505, r17506, r17507, r17508, r17509, r17510, r17511, r17512, r17513, r17514, r17515, r17516, r17517, r17518, r17519, r17520, r17521, r17522, r17523, r17524, r17525, r17526, r17527, r17528, r17529, r17530, r17531;

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

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

static mpfr_t r17532, r17533, r17534, r17535, r17536, r17537, r17538, r17539, r17540, r17541, r17542, r17543, r17544, r17545, r17546, r17547, r17548, r17549, r17550, r17551, r17552, r17553, r17554, r17555, r17556, r17557, r17558, r17559, r17560, r17561, r17562, r17563, r17564, r17565, r17566, r17567, r17568, r17569, r17570, r17571, r17572, r17573, r17574, r17575, r17576, r17577, r17578, r17579, r17580, r17581, r17582, r17583, r17584, r17585, r17586, r17587, r17588, r17589, r17590, r17591, r17592, r17593, r17594, r17595, r17596, r17597, r17598, r17599, r17600, r17601, r17602, r17603, r17604, r17605, r17606, r17607, r17608, r17609, r17610, r17611, r17612, r17613, r17614, r17615, r17616, r17617, r17618, r17619, r17620, r17621, r17622, r17623, r17624, r17625, r17626, r17627, r17628, r17629, r17630, r17631, r17632, r17633, r17634, r17635, r17636, r17637, r17638, r17639, r17640, r17641, r17642, r17643, r17644, r17645, r17646, r17647, r17648, r17649, r17650, r17651, r17652;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r17532);
        mpfr_init_set_str(r17533, "-2.765498668608906e-144", 10, MPFR_RNDN);
        mpfr_init(r17534);
        mpfr_init(r17535);
        mpfr_init(r17536);
        mpfr_init(r17537);
        mpfr_init(r17538);
        mpfr_init(r17539);
        mpfr_init(r17540);
        mpfr_init(r17541);
        mpfr_init(r17542);
        mpfr_init(r17543);
        mpfr_init(r17544);
        mpfr_init(r17545);
        mpfr_init(r17546);
        mpfr_init(r17547);
        mpfr_init(r17548);
        mpfr_init(r17549);
        mpfr_init(r17550);
        mpfr_init(r17551);
        mpfr_init(r17552);
        mpfr_init(r17553);
        mpfr_init(r17554);
        mpfr_init(r17555);
        mpfr_init(r17556);
        mpfr_init(r17557);
        mpfr_init(r17558);
        mpfr_init(r17559);
        mpfr_init(r17560);
        mpfr_init(r17561);
        mpfr_init(r17562);
        mpfr_init(r17563);
        mpfr_init(r17564);
        mpfr_init(r17565);
        mpfr_init(r17566);
        mpfr_init(r17567);
        mpfr_init(r17568);
        mpfr_init(r17569);
        mpfr_init(r17570);
        mpfr_init(r17571);
        mpfr_init(r17572);
        mpfr_init(r17573);
        mpfr_init(r17574);
        mpfr_init(r17575);
        mpfr_init(r17576);
        mpfr_init(r17577);
        mpfr_init(r17578);
        mpfr_init(r17579);
        mpfr_init(r17580);
        mpfr_init(r17581);
        mpfr_init(r17582);
        mpfr_init(r17583);
        mpfr_init(r17584);
        mpfr_init(r17585);
        mpfr_init(r17586);
        mpfr_init(r17587);
        mpfr_init(r17588);
        mpfr_init(r17589);
        mpfr_init(r17590);
        mpfr_init(r17591);
        mpfr_init(r17592);
        mpfr_init(r17593);
        mpfr_init(r17594);
        mpfr_init(r17595);
        mpfr_init_set_str(r17596, "3.1605934446652916e+99", 10, MPFR_RNDN);
        mpfr_init(r17597);
        mpfr_init(r17598);
        mpfr_init(r17599);
        mpfr_init(r17600);
        mpfr_init(r17601);
        mpfr_init(r17602);
        mpfr_init(r17603);
        mpfr_init(r17604);
        mpfr_init(r17605);
        mpfr_init(r17606);
        mpfr_init(r17607);
        mpfr_init(r17608);
        mpfr_init(r17609);
        mpfr_init(r17610);
        mpfr_init(r17611);
        mpfr_init(r17612);
        mpfr_init(r17613);
        mpfr_init(r17614);
        mpfr_init(r17615);
        mpfr_init(r17616);
        mpfr_init(r17617);
        mpfr_init(r17618);
        mpfr_init(r17619);
        mpfr_init(r17620);
        mpfr_init(r17621);
        mpfr_init(r17622);
        mpfr_init(r17623);
        mpfr_init(r17624);
        mpfr_init(r17625);
        mpfr_init(r17626);
        mpfr_init(r17627);
        mpfr_init(r17628);
        mpfr_init(r17629);
        mpfr_init(r17630);
        mpfr_init(r17631);
        mpfr_init(r17632);
        mpfr_init(r17633);
        mpfr_init(r17634);
        mpfr_init(r17635);
        mpfr_init(r17636);
        mpfr_init(r17637);
        mpfr_init(r17638);
        mpfr_init(r17639);
        mpfr_init(r17640);
        mpfr_init(r17641);
        mpfr_init(r17642);
        mpfr_init(r17643);
        mpfr_init(r17644);
        mpfr_init(r17645);
        mpfr_init(r17646);
        mpfr_init(r17647);
        mpfr_init(r17648);
        mpfr_init(r17649);
        mpfr_init(r17650);
        mpfr_init(r17651);
        mpfr_init(r17652);
}

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(r17532, y3, MPFR_RNDN);
        ;
        mpfr_set_si(r17534, mpfr_cmp(r17532, r17533) <= 0, MPFR_RNDN);
        mpfr_set_d(r17535, y4, MPFR_RNDN);
        mpfr_set_d(r17536, y1, MPFR_RNDN);
        mpfr_mul(r17537, r17535, r17536, MPFR_RNDN);
        mpfr_set_d(r17538, y0, MPFR_RNDN);
        mpfr_set_d(r17539, y5, MPFR_RNDN);
        mpfr_mul(r17540, r17538, r17539, MPFR_RNDN);
        mpfr_sub(r17541, r17537, r17540, MPFR_RNDN);
        mpfr_set_d(r17542, y2, MPFR_RNDN);
        mpfr_set_d(r17543, k, MPFR_RNDN);
        mpfr_mul(r17544, r17542, r17543, MPFR_RNDN);
        mpfr_set_d(r17545, j, MPFR_RNDN);
        mpfr_mul(r17546, r17545, r17532, MPFR_RNDN);
        mpfr_sub(r17547, r17544, r17546, MPFR_RNDN);
        mpfr_mul(r17548, r17541, r17547, MPFR_RNDN);
        mpfr_set_d(r17549, a, MPFR_RNDN);
        mpfr_set_d(r17550, b, MPFR_RNDN);
        mpfr_mul(r17551, r17549, r17550, MPFR_RNDN);
        mpfr_set_d(r17552, c, MPFR_RNDN);
        mpfr_set_d(r17553, i, MPFR_RNDN);
        mpfr_mul(r17554, r17552, r17553, MPFR_RNDN);
        mpfr_sub(r17555, r17551, r17554, MPFR_RNDN);
        mpfr_set_d(r17556, y, MPFR_RNDN);
        mpfr_set_d(r17557, x, MPFR_RNDN);
        mpfr_mul(r17558, r17556, r17557, MPFR_RNDN);
        mpfr_set_d(r17559, t, MPFR_RNDN);
        mpfr_set_d(r17560, z, MPFR_RNDN);
        mpfr_mul(r17561, r17559, r17560, MPFR_RNDN);
        mpfr_sub(r17562, r17558, r17561, MPFR_RNDN);
        mpfr_mul(r17563, r17559, r17545, MPFR_RNDN);
        mpfr_mul(r17564, r17543, r17556, MPFR_RNDN);
        mpfr_sub(r17565, r17563, r17564, MPFR_RNDN);
        mpfr_mul(r17566, r17535, r17550, MPFR_RNDN);
        mpfr_mul(r17567, r17539, r17553, MPFR_RNDN);
        mpfr_sub(r17568, r17566, r17567, MPFR_RNDN);
        mpfr_mul(r17569, r17542, r17557, MPFR_RNDN);
        mpfr_mul(r17570, r17560, r17532, MPFR_RNDN);
        mpfr_sub(r17571, r17569, r17570, MPFR_RNDN);
        mpfr_mul(r17572, r17538, r17552, MPFR_RNDN);
        mpfr_mul(r17573, r17549, r17536, MPFR_RNDN);
        mpfr_sub(r17574, r17572, r17573, MPFR_RNDN);
        mpfr_mul(r17575, r17571, r17574, MPFR_RNDN);
        mpfr_fma(r17576, r17565, r17568, r17575, MPFR_RNDN);
        mpfr_fma(r17577, r17555, r17562, r17576, MPFR_RNDN);
        mpfr_cbrt(r17578, r17577, MPFR_RNDN);
        mpfr_mul(r17579, r17578, r17578, MPFR_RNDN); mpfr_mul(r17579, r17579, r17578, MPFR_RNDN);
        mpfr_mul(r17580, r17545, r17557, MPFR_RNDN);
        mpfr_mul(r17581, r17560, r17543, MPFR_RNDN);
        mpfr_sub(r17582, r17580, r17581, MPFR_RNDN);
        mpfr_mul(r17583, r17550, r17538, MPFR_RNDN);
        mpfr_mul(r17584, r17536, r17553, MPFR_RNDN);
        mpfr_sub(r17585, r17583, r17584, MPFR_RNDN);
        mpfr_mul(r17586, r17535, r17552, MPFR_RNDN);
        mpfr_mul(r17587, r17539, r17549, MPFR_RNDN);
        mpfr_sub(r17588, r17586, r17587, MPFR_RNDN);
        mpfr_mul(r17589, r17559, r17542, MPFR_RNDN);
        mpfr_mul(r17590, r17556, r17532, MPFR_RNDN);
        mpfr_sub(r17591, r17589, r17590, MPFR_RNDN);
        mpfr_mul(r17592, r17588, r17591, MPFR_RNDN);
        mpfr_fma(r17593, r17582, r17585, r17592, MPFR_RNDN);
        mpfr_sub(r17594, r17579, r17593, MPFR_RNDN);
        mpfr_add(r17595, r17548, r17594, MPFR_RNDN);
        ;
        mpfr_set_si(r17597, mpfr_cmp(r17532, r17596) <= 0, MPFR_RNDN);
        mpfr_mul(r17598, r17550, r17549, MPFR_RNDN);
        mpfr_mul(r17599, r17553, r17552, MPFR_RNDN);
        mpfr_sub(r17600, r17598, r17599, MPFR_RNDN);
        mpfr_mul(r17601, r17557, r17556, MPFR_RNDN);
        mpfr_mul(r17602, r17560, r17559, MPFR_RNDN);
        mpfr_sub(r17603, r17601, r17602, MPFR_RNDN);
        mpfr_mul(r17604, r17545, r17559, MPFR_RNDN);
        mpfr_sub(r17605, r17604, r17564, MPFR_RNDN);
        mpfr_mul(r17606, r17553, r17539, MPFR_RNDN);
        mpfr_sub(r17607, r17566, r17606, MPFR_RNDN);
        mpfr_mul(r17608, r17552, r17538, MPFR_RNDN);
        mpfr_mul(r17609, r17536, r17549, MPFR_RNDN);
        mpfr_sub(r17610, r17608, r17609, MPFR_RNDN);
        mpfr_mul(r17611, r17532, r17560, MPFR_RNDN);
        mpfr_sub(r17612, r17569, r17611, MPFR_RNDN);
        mpfr_mul(r17613, r17610, r17612, MPFR_RNDN);
        mpfr_fma(r17614, r17605, r17607, r17613, MPFR_RNDN);
        mpfr_fma(r17615, r17600, r17603, r17614, MPFR_RNDN);
        mpfr_mul(r17616, r17543, r17560, MPFR_RNDN);
        mpfr_sub(r17617, r17580, r17616, MPFR_RNDN);
        mpfr_mul(r17618, r17538, r17550, MPFR_RNDN);
        mpfr_sub(r17619, r17618, r17584, MPFR_RNDN);
        mpfr_mul(r17620, r17549, r17539, MPFR_RNDN);
        mpfr_sub(r17621, r17586, r17620, MPFR_RNDN);
        mpfr_mul(r17622, r17542, r17559, MPFR_RNDN);
        mpfr_sub(r17623, r17622, r17590, MPFR_RNDN);
        mpfr_mul(r17624, r17621, r17623, MPFR_RNDN);
        mpfr_fma(r17625, r17617, r17619, r17624, MPFR_RNDN);
        mpfr_mul(r17626, r17539, r17545, MPFR_RNDN);
        mpfr_mul(r17627, r17538, r17532, MPFR_RNDN);
        mpfr_mul(r17628, r17626, r17627, MPFR_RNDN);
        mpfr_mul(r17629, r17536, r17532, MPFR_RNDN);
        mpfr_mul(r17630, r17535, r17629, MPFR_RNDN);
        mpfr_mul(r17631, r17542, r17538, MPFR_RNDN);
        mpfr_mul(r17632, r17539, r17543, MPFR_RNDN);
        mpfr_mul(r17633, r17631, r17632, MPFR_RNDN);
        mpfr_fma(r17634, r17630, r17545, r17633, MPFR_RNDN);
        mpfr_sub(r17635, r17628, r17634, MPFR_RNDN);
        mpfr_sub(r17636, r17625, r17635, MPFR_RNDN);
        mpfr_sub(r17637, r17615, r17636, MPFR_RNDN);
        mpfr_mul(r17638, r17539, r17538, MPFR_RNDN);
        mpfr_sub(r17639, r17537, r17638, MPFR_RNDN);
        mpfr_mul(r17640, r17543, r17542, MPFR_RNDN);
        mpfr_sub(r17641, r17640, r17546, MPFR_RNDN);
        mpfr_mul(r17642, r17556, r17543, MPFR_RNDN);
        mpfr_sub(r17643, r17604, r17642, MPFR_RNDN);
        mpfr_mul(r17644, r17557, r17542, MPFR_RNDN);
        mpfr_sub(r17645, r17644, r17570, MPFR_RNDN);
        mpfr_mul(r17646, r17645, r17610, MPFR_RNDN);
        mpfr_fma(r17647, r17643, r17568, r17646, MPFR_RNDN);
        mpfr_fma(r17648, r17639, r17641, r17647, MPFR_RNDN);
        mpfr_fma(r17649, r17617, r17585, r17592, MPFR_RNDN);
        mpfr_sub(r17650, r17648, r17649, MPFR_RNDN);
        if (mpfr_get_si(r17597, MPFR_RNDN)) { mpfr_set(r17651, r17637, MPFR_RNDN); } else { mpfr_set(r17651, r17650, MPFR_RNDN); };
        if (mpfr_get_si(r17534, MPFR_RNDN)) { mpfr_set(r17652, r17595, MPFR_RNDN); } else { mpfr_set(r17652, r17651, MPFR_RNDN); };
        return mpfr_get_d(r17652, MPFR_RNDN);
}

static mpfr_t r17653, r17654, r17655, r17656, r17657, r17658, r17659, r17660, r17661, r17662, r17663, r17664, r17665, r17666, r17667, r17668, r17669, r17670, r17671, r17672, r17673, r17674, r17675, r17676, r17677, r17678, r17679, r17680, r17681, r17682, r17683, r17684, r17685, r17686, r17687, r17688, r17689, r17690, r17691, r17692, r17693, r17694, r17695, r17696, r17697, r17698, r17699, r17700, r17701, r17702, r17703, r17704, r17705, r17706, r17707, r17708, r17709, r17710, r17711, r17712, r17713, r17714, r17715, r17716, r17717, r17718, r17719, r17720, r17721, r17722, r17723, r17724, r17725, r17726, r17727, r17728, r17729, r17730, r17731, r17732, r17733, r17734, r17735, r17736, r17737, r17738, r17739, r17740, r17741, r17742, r17743, r17744, r17745, r17746, r17747, r17748, r17749, r17750, r17751, r17752, r17753, r17754, r17755, r17756, r17757, r17758, r17759, r17760, r17761, r17762, r17763, r17764, r17765, r17766, r17767, r17768, r17769, r17770, r17771, r17772, r17773;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r17653);
        mpfr_init_set_str(r17654, "-2.765498668608906e-144", 10, MPFR_RNDN);
        mpfr_init(r17655);
        mpfr_init(r17656);
        mpfr_init(r17657);
        mpfr_init(r17658);
        mpfr_init(r17659);
        mpfr_init(r17660);
        mpfr_init(r17661);
        mpfr_init(r17662);
        mpfr_init(r17663);
        mpfr_init(r17664);
        mpfr_init(r17665);
        mpfr_init(r17666);
        mpfr_init(r17667);
        mpfr_init(r17668);
        mpfr_init(r17669);
        mpfr_init(r17670);
        mpfr_init(r17671);
        mpfr_init(r17672);
        mpfr_init(r17673);
        mpfr_init(r17674);
        mpfr_init(r17675);
        mpfr_init(r17676);
        mpfr_init(r17677);
        mpfr_init(r17678);
        mpfr_init(r17679);
        mpfr_init(r17680);
        mpfr_init(r17681);
        mpfr_init(r17682);
        mpfr_init(r17683);
        mpfr_init(r17684);
        mpfr_init(r17685);
        mpfr_init(r17686);
        mpfr_init(r17687);
        mpfr_init(r17688);
        mpfr_init(r17689);
        mpfr_init(r17690);
        mpfr_init(r17691);
        mpfr_init(r17692);
        mpfr_init(r17693);
        mpfr_init(r17694);
        mpfr_init(r17695);
        mpfr_init(r17696);
        mpfr_init(r17697);
        mpfr_init(r17698);
        mpfr_init(r17699);
        mpfr_init(r17700);
        mpfr_init(r17701);
        mpfr_init(r17702);
        mpfr_init(r17703);
        mpfr_init(r17704);
        mpfr_init(r17705);
        mpfr_init(r17706);
        mpfr_init(r17707);
        mpfr_init(r17708);
        mpfr_init(r17709);
        mpfr_init(r17710);
        mpfr_init(r17711);
        mpfr_init(r17712);
        mpfr_init(r17713);
        mpfr_init(r17714);
        mpfr_init(r17715);
        mpfr_init(r17716);
        mpfr_init_set_str(r17717, "3.1605934446652916e+99", 10, MPFR_RNDN);
        mpfr_init(r17718);
        mpfr_init(r17719);
        mpfr_init(r17720);
        mpfr_init(r17721);
        mpfr_init(r17722);
        mpfr_init(r17723);
        mpfr_init(r17724);
        mpfr_init(r17725);
        mpfr_init(r17726);
        mpfr_init(r17727);
        mpfr_init(r17728);
        mpfr_init(r17729);
        mpfr_init(r17730);
        mpfr_init(r17731);
        mpfr_init(r17732);
        mpfr_init(r17733);
        mpfr_init(r17734);
        mpfr_init(r17735);
        mpfr_init(r17736);
        mpfr_init(r17737);
        mpfr_init(r17738);
        mpfr_init(r17739);
        mpfr_init(r17740);
        mpfr_init(r17741);
        mpfr_init(r17742);
        mpfr_init(r17743);
        mpfr_init(r17744);
        mpfr_init(r17745);
        mpfr_init(r17746);
        mpfr_init(r17747);
        mpfr_init(r17748);
        mpfr_init(r17749);
        mpfr_init(r17750);
        mpfr_init(r17751);
        mpfr_init(r17752);
        mpfr_init(r17753);
        mpfr_init(r17754);
        mpfr_init(r17755);
        mpfr_init(r17756);
        mpfr_init(r17757);
        mpfr_init(r17758);
        mpfr_init(r17759);
        mpfr_init(r17760);
        mpfr_init(r17761);
        mpfr_init(r17762);
        mpfr_init(r17763);
        mpfr_init(r17764);
        mpfr_init(r17765);
        mpfr_init(r17766);
        mpfr_init(r17767);
        mpfr_init(r17768);
        mpfr_init(r17769);
        mpfr_init(r17770);
        mpfr_init(r17771);
        mpfr_init(r17772);
        mpfr_init(r17773);
}

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(r17653, y3, MPFR_RNDN);
        ;
        mpfr_set_si(r17655, mpfr_cmp(r17653, r17654) <= 0, MPFR_RNDN);
        mpfr_set_d(r17656, y4, MPFR_RNDN);
        mpfr_set_d(r17657, y1, MPFR_RNDN);
        mpfr_mul(r17658, r17656, r17657, MPFR_RNDN);
        mpfr_set_d(r17659, y0, MPFR_RNDN);
        mpfr_set_d(r17660, y5, MPFR_RNDN);
        mpfr_mul(r17661, r17659, r17660, MPFR_RNDN);
        mpfr_sub(r17662, r17658, r17661, MPFR_RNDN);
        mpfr_set_d(r17663, y2, MPFR_RNDN);
        mpfr_set_d(r17664, k, MPFR_RNDN);
        mpfr_mul(r17665, r17663, r17664, MPFR_RNDN);
        mpfr_set_d(r17666, j, MPFR_RNDN);
        mpfr_mul(r17667, r17666, r17653, MPFR_RNDN);
        mpfr_sub(r17668, r17665, r17667, MPFR_RNDN);
        mpfr_mul(r17669, r17662, r17668, MPFR_RNDN);
        mpfr_set_d(r17670, a, MPFR_RNDN);
        mpfr_set_d(r17671, b, MPFR_RNDN);
        mpfr_mul(r17672, r17670, r17671, MPFR_RNDN);
        mpfr_set_d(r17673, c, MPFR_RNDN);
        mpfr_set_d(r17674, i, MPFR_RNDN);
        mpfr_mul(r17675, r17673, r17674, MPFR_RNDN);
        mpfr_sub(r17676, r17672, r17675, MPFR_RNDN);
        mpfr_set_d(r17677, y, MPFR_RNDN);
        mpfr_set_d(r17678, x, MPFR_RNDN);
        mpfr_mul(r17679, r17677, r17678, MPFR_RNDN);
        mpfr_set_d(r17680, t, MPFR_RNDN);
        mpfr_set_d(r17681, z, MPFR_RNDN);
        mpfr_mul(r17682, r17680, r17681, MPFR_RNDN);
        mpfr_sub(r17683, r17679, r17682, MPFR_RNDN);
        mpfr_mul(r17684, r17680, r17666, MPFR_RNDN);
        mpfr_mul(r17685, r17664, r17677, MPFR_RNDN);
        mpfr_sub(r17686, r17684, r17685, MPFR_RNDN);
        mpfr_mul(r17687, r17656, r17671, MPFR_RNDN);
        mpfr_mul(r17688, r17660, r17674, MPFR_RNDN);
        mpfr_sub(r17689, r17687, r17688, MPFR_RNDN);
        mpfr_mul(r17690, r17663, r17678, MPFR_RNDN);
        mpfr_mul(r17691, r17681, r17653, MPFR_RNDN);
        mpfr_sub(r17692, r17690, r17691, MPFR_RNDN);
        mpfr_mul(r17693, r17659, r17673, MPFR_RNDN);
        mpfr_mul(r17694, r17670, r17657, MPFR_RNDN);
        mpfr_sub(r17695, r17693, r17694, MPFR_RNDN);
        mpfr_mul(r17696, r17692, r17695, MPFR_RNDN);
        mpfr_fma(r17697, r17686, r17689, r17696, MPFR_RNDN);
        mpfr_fma(r17698, r17676, r17683, r17697, MPFR_RNDN);
        mpfr_cbrt(r17699, r17698, MPFR_RNDN);
        mpfr_mul(r17700, r17699, r17699, MPFR_RNDN); mpfr_mul(r17700, r17700, r17699, MPFR_RNDN);
        mpfr_mul(r17701, r17666, r17678, MPFR_RNDN);
        mpfr_mul(r17702, r17681, r17664, MPFR_RNDN);
        mpfr_sub(r17703, r17701, r17702, MPFR_RNDN);
        mpfr_mul(r17704, r17671, r17659, MPFR_RNDN);
        mpfr_mul(r17705, r17657, r17674, MPFR_RNDN);
        mpfr_sub(r17706, r17704, r17705, MPFR_RNDN);
        mpfr_mul(r17707, r17656, r17673, MPFR_RNDN);
        mpfr_mul(r17708, r17660, r17670, MPFR_RNDN);
        mpfr_sub(r17709, r17707, r17708, MPFR_RNDN);
        mpfr_mul(r17710, r17680, r17663, MPFR_RNDN);
        mpfr_mul(r17711, r17677, r17653, MPFR_RNDN);
        mpfr_sub(r17712, r17710, r17711, MPFR_RNDN);
        mpfr_mul(r17713, r17709, r17712, MPFR_RNDN);
        mpfr_fma(r17714, r17703, r17706, r17713, MPFR_RNDN);
        mpfr_sub(r17715, r17700, r17714, MPFR_RNDN);
        mpfr_add(r17716, r17669, r17715, MPFR_RNDN);
        ;
        mpfr_set_si(r17718, mpfr_cmp(r17653, r17717) <= 0, MPFR_RNDN);
        mpfr_mul(r17719, r17671, r17670, MPFR_RNDN);
        mpfr_mul(r17720, r17674, r17673, MPFR_RNDN);
        mpfr_sub(r17721, r17719, r17720, MPFR_RNDN);
        mpfr_mul(r17722, r17678, r17677, MPFR_RNDN);
        mpfr_mul(r17723, r17681, r17680, MPFR_RNDN);
        mpfr_sub(r17724, r17722, r17723, MPFR_RNDN);
        mpfr_mul(r17725, r17666, r17680, MPFR_RNDN);
        mpfr_sub(r17726, r17725, r17685, MPFR_RNDN);
        mpfr_mul(r17727, r17674, r17660, MPFR_RNDN);
        mpfr_sub(r17728, r17687, r17727, MPFR_RNDN);
        mpfr_mul(r17729, r17673, r17659, MPFR_RNDN);
        mpfr_mul(r17730, r17657, r17670, MPFR_RNDN);
        mpfr_sub(r17731, r17729, r17730, MPFR_RNDN);
        mpfr_mul(r17732, r17653, r17681, MPFR_RNDN);
        mpfr_sub(r17733, r17690, r17732, MPFR_RNDN);
        mpfr_mul(r17734, r17731, r17733, MPFR_RNDN);
        mpfr_fma(r17735, r17726, r17728, r17734, MPFR_RNDN);
        mpfr_fma(r17736, r17721, r17724, r17735, MPFR_RNDN);
        mpfr_mul(r17737, r17664, r17681, MPFR_RNDN);
        mpfr_sub(r17738, r17701, r17737, MPFR_RNDN);
        mpfr_mul(r17739, r17659, r17671, MPFR_RNDN);
        mpfr_sub(r17740, r17739, r17705, MPFR_RNDN);
        mpfr_mul(r17741, r17670, r17660, MPFR_RNDN);
        mpfr_sub(r17742, r17707, r17741, MPFR_RNDN);
        mpfr_mul(r17743, r17663, r17680, MPFR_RNDN);
        mpfr_sub(r17744, r17743, r17711, MPFR_RNDN);
        mpfr_mul(r17745, r17742, r17744, MPFR_RNDN);
        mpfr_fma(r17746, r17738, r17740, r17745, MPFR_RNDN);
        mpfr_mul(r17747, r17660, r17666, MPFR_RNDN);
        mpfr_mul(r17748, r17659, r17653, MPFR_RNDN);
        mpfr_mul(r17749, r17747, r17748, MPFR_RNDN);
        mpfr_mul(r17750, r17657, r17653, MPFR_RNDN);
        mpfr_mul(r17751, r17656, r17750, MPFR_RNDN);
        mpfr_mul(r17752, r17663, r17659, MPFR_RNDN);
        mpfr_mul(r17753, r17660, r17664, MPFR_RNDN);
        mpfr_mul(r17754, r17752, r17753, MPFR_RNDN);
        mpfr_fma(r17755, r17751, r17666, r17754, MPFR_RNDN);
        mpfr_sub(r17756, r17749, r17755, MPFR_RNDN);
        mpfr_sub(r17757, r17746, r17756, MPFR_RNDN);
        mpfr_sub(r17758, r17736, r17757, MPFR_RNDN);
        mpfr_mul(r17759, r17660, r17659, MPFR_RNDN);
        mpfr_sub(r17760, r17658, r17759, MPFR_RNDN);
        mpfr_mul(r17761, r17664, r17663, MPFR_RNDN);
        mpfr_sub(r17762, r17761, r17667, MPFR_RNDN);
        mpfr_mul(r17763, r17677, r17664, MPFR_RNDN);
        mpfr_sub(r17764, r17725, r17763, MPFR_RNDN);
        mpfr_mul(r17765, r17678, r17663, MPFR_RNDN);
        mpfr_sub(r17766, r17765, r17691, MPFR_RNDN);
        mpfr_mul(r17767, r17766, r17731, MPFR_RNDN);
        mpfr_fma(r17768, r17764, r17689, r17767, MPFR_RNDN);
        mpfr_fma(r17769, r17760, r17762, r17768, MPFR_RNDN);
        mpfr_fma(r17770, r17738, r17706, r17713, MPFR_RNDN);
        mpfr_sub(r17771, r17769, r17770, MPFR_RNDN);
        if (mpfr_get_si(r17718, MPFR_RNDN)) { mpfr_set(r17772, r17758, MPFR_RNDN); } else { mpfr_set(r17772, r17771, MPFR_RNDN); };
        if (mpfr_get_si(r17655, MPFR_RNDN)) { mpfr_set(r17773, r17716, MPFR_RNDN); } else { mpfr_set(r17773, r17772, MPFR_RNDN); };
        return mpfr_get_d(r17773, MPFR_RNDN);
}

