#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1";

double f_if(float x, float y, float z, float t, float a, float b, float c, float i, float j, float k) {
        float r27391 = x;
        float r27392 = 18.0;
        float r27393 = r27391 * r27392;
        float r27394 = y;
        float r27395 = r27393 * r27394;
        float r27396 = z;
        float r27397 = r27395 * r27396;
        float r27398 = t;
        float r27399 = r27397 * r27398;
        float r27400 = a;
        float r27401 = 4.0;
        float r27402 = r27400 * r27401;
        float r27403 = r27402 * r27398;
        float r27404 = r27399 - r27403;
        float r27405 = b;
        float r27406 = c;
        float r27407 = r27405 * r27406;
        float r27408 = r27404 + r27407;
        float r27409 = r27391 * r27401;
        float r27410 = i;
        float r27411 = r27409 * r27410;
        float r27412 = r27408 - r27411;
        float r27413 = j;
        float r27414 = 27.0;
        float r27415 = r27413 * r27414;
        float r27416 = k;
        float r27417 = r27415 * r27416;
        float r27418 = r27412 - r27417;
        return r27418;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r27419 = x;
        double r27420 = 18.0;
        double r27421 = r27419 * r27420;
        double r27422 = y;
        double r27423 = r27421 * r27422;
        double r27424 = z;
        double r27425 = r27423 * r27424;
        double r27426 = t;
        double r27427 = r27425 * r27426;
        double r27428 = a;
        double r27429 = 4.0;
        double r27430 = r27428 * r27429;
        double r27431 = r27430 * r27426;
        double r27432 = r27427 - r27431;
        double r27433 = b;
        double r27434 = c;
        double r27435 = r27433 * r27434;
        double r27436 = r27432 + r27435;
        double r27437 = r27419 * r27429;
        double r27438 = i;
        double r27439 = r27437 * r27438;
        double r27440 = r27436 - r27439;
        double r27441 = j;
        double r27442 = 27.0;
        double r27443 = r27441 * r27442;
        double r27444 = k;
        double r27445 = r27443 * r27444;
        double r27446 = r27440 - r27445;
        return r27446;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i, float j, float k) {
        float r27447 = c;
        float r27448 = b;
        float r27449 = r27447 * r27448;
        float r27450 = k;
        float r27451 = 27.0;
        float r27452 = j;
        float r27453 = r27451 * r27452;
        float r27454 = r27450 * r27453;
        float r27455 = r27449 - r27454;
        float r27456 = x;
        float r27457 = i;
        float r27458 = 4.0;
        float r27459 = r27457 * r27458;
        float r27460 = r27459 * r27459;
        float r27461 = t;
        float r27462 = y;
        float r27463 = r27461 * r27462;
        float r27464 = z;
        float r27465 = 18.0;
        float r27466 = r27464 * r27465;
        float r27467 = r27463 * r27466;
        float r27468 = r27467 * r27467;
        float r27469 = r27460 - r27468;
        float r27470 = r27456 * r27469;
        float r27471 = r27459 + r27467;
        float r27472 = r27470 / r27471;
        float r27473 = r27455 - r27472;
        float r27474 = a;
        float r27475 = r27458 * r27474;
        float r27476 = -r27475;
        float r27477 = r27476 * r27461;
        float r27478 = r27473 + r27477;
        float r27479 = -5.547019294989348e+302;
        bool r27480 = r27478 <= r27479;
        float r27481 = r27456 * r27465;
        float r27482 = r27481 * r27462;
        float r27483 = r27482 * r27464;
        float r27484 = r27483 * r27461;
        float r27485 = r27474 * r27458;
        float r27486 = r27485 * r27461;
        float r27487 = r27484 - r27486;
        float r27488 = r27448 * r27447;
        float r27489 = r27487 + r27488;
        float r27490 = r27456 * r27458;
        float r27491 = r27490 * r27457;
        float r27492 = r27489 - r27491;
        float r27493 = r27452 * r27451;
        float r27494 = r27493 * r27450;
        float r27495 = r27492 - r27494;
        float r27496 = -1.9183469463938016e+93;
        bool r27497 = r27478 <= r27496;
        float r27498 = 4.218312456325165e+301;
        bool r27499 = r27478 <= r27498;
        float r27500 = r27450 * r27452;
        float r27501 = r27500 * r27451;
        float r27502 = r27449 - r27501;
        float r27503 = r27461 * r27465;
        float r27504 = r27464 * r27462;
        float r27505 = r27503 * r27504;
        float r27506 = r27459 - r27505;
        float r27507 = r27456 * r27506;
        float r27508 = r27502 - r27507;
        float r27509 = r27461 * r27476;
        float r27510 = r27508 + r27509;
        float r27511 = r27499 ? r27510 : r27495;
        float r27512 = r27497 ? r27478 : r27511;
        float r27513 = r27480 ? r27495 : r27512;
        return r27513;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r27514 = c;
        double r27515 = b;
        double r27516 = r27514 * r27515;
        double r27517 = k;
        double r27518 = 27.0;
        double r27519 = j;
        double r27520 = r27518 * r27519;
        double r27521 = r27517 * r27520;
        double r27522 = r27516 - r27521;
        double r27523 = x;
        double r27524 = i;
        double r27525 = 4.0;
        double r27526 = r27524 * r27525;
        double r27527 = r27526 * r27526;
        double r27528 = t;
        double r27529 = y;
        double r27530 = r27528 * r27529;
        double r27531 = z;
        double r27532 = 18.0;
        double r27533 = r27531 * r27532;
        double r27534 = r27530 * r27533;
        double r27535 = r27534 * r27534;
        double r27536 = r27527 - r27535;
        double r27537 = r27523 * r27536;
        double r27538 = r27526 + r27534;
        double r27539 = r27537 / r27538;
        double r27540 = r27522 - r27539;
        double r27541 = a;
        double r27542 = r27525 * r27541;
        double r27543 = -r27542;
        double r27544 = r27543 * r27528;
        double r27545 = r27540 + r27544;
        double r27546 = -5.547019294989348e+302;
        bool r27547 = r27545 <= r27546;
        double r27548 = r27523 * r27532;
        double r27549 = r27548 * r27529;
        double r27550 = r27549 * r27531;
        double r27551 = r27550 * r27528;
        double r27552 = r27541 * r27525;
        double r27553 = r27552 * r27528;
        double r27554 = r27551 - r27553;
        double r27555 = r27515 * r27514;
        double r27556 = r27554 + r27555;
        double r27557 = r27523 * r27525;
        double r27558 = r27557 * r27524;
        double r27559 = r27556 - r27558;
        double r27560 = r27519 * r27518;
        double r27561 = r27560 * r27517;
        double r27562 = r27559 - r27561;
        double r27563 = -1.9183469463938016e+93;
        bool r27564 = r27545 <= r27563;
        double r27565 = 4.218312456325165e+301;
        bool r27566 = r27545 <= r27565;
        double r27567 = r27517 * r27519;
        double r27568 = r27567 * r27518;
        double r27569 = r27516 - r27568;
        double r27570 = r27528 * r27532;
        double r27571 = r27531 * r27529;
        double r27572 = r27570 * r27571;
        double r27573 = r27526 - r27572;
        double r27574 = r27523 * r27573;
        double r27575 = r27569 - r27574;
        double r27576 = r27528 * r27543;
        double r27577 = r27575 + r27576;
        double r27578 = r27566 ? r27577 : r27562;
        double r27579 = r27564 ? r27545 : r27578;
        double r27580 = r27547 ? r27562 : r27579;
        return r27580;
}

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 r27581, r27582, r27583, r27584, r27585, r27586, r27587, r27588, r27589, r27590, r27591, r27592, r27593, r27594, r27595, r27596, r27597, r27598, r27599, r27600, r27601, r27602, r27603, r27604, r27605, r27606, r27607, r27608;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r27581);
        mpfr_init_set_str(r27582, "18.0", 10, MPFR_RNDN);
        mpfr_init(r27583);
        mpfr_init(r27584);
        mpfr_init(r27585);
        mpfr_init(r27586);
        mpfr_init(r27587);
        mpfr_init(r27588);
        mpfr_init(r27589);
        mpfr_init(r27590);
        mpfr_init_set_str(r27591, "4.0", 10, MPFR_RNDN);
        mpfr_init(r27592);
        mpfr_init(r27593);
        mpfr_init(r27594);
        mpfr_init(r27595);
        mpfr_init(r27596);
        mpfr_init(r27597);
        mpfr_init(r27598);
        mpfr_init(r27599);
        mpfr_init(r27600);
        mpfr_init(r27601);
        mpfr_init(r27602);
        mpfr_init(r27603);
        mpfr_init_set_str(r27604, "27.0", 10, MPFR_RNDN);
        mpfr_init(r27605);
        mpfr_init(r27606);
        mpfr_init(r27607);
        mpfr_init(r27608);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        mpfr_set_d(r27581, x, MPFR_RNDN);
        ;
        mpfr_mul(r27583, r27581, r27582, MPFR_RNDN);
        mpfr_set_d(r27584, y, MPFR_RNDN);
        mpfr_mul(r27585, r27583, r27584, MPFR_RNDN);
        mpfr_set_d(r27586, z, MPFR_RNDN);
        mpfr_mul(r27587, r27585, r27586, MPFR_RNDN);
        mpfr_set_d(r27588, t, MPFR_RNDN);
        mpfr_mul(r27589, r27587, r27588, MPFR_RNDN);
        mpfr_set_d(r27590, a, MPFR_RNDN);
        ;
        mpfr_mul(r27592, r27590, r27591, MPFR_RNDN);
        mpfr_mul(r27593, r27592, r27588, MPFR_RNDN);
        mpfr_sub(r27594, r27589, r27593, MPFR_RNDN);
        mpfr_set_d(r27595, b, MPFR_RNDN);
        mpfr_set_d(r27596, c, MPFR_RNDN);
        mpfr_mul(r27597, r27595, r27596, MPFR_RNDN);
        mpfr_add(r27598, r27594, r27597, MPFR_RNDN);
        mpfr_mul(r27599, r27581, r27591, MPFR_RNDN);
        mpfr_set_d(r27600, i, MPFR_RNDN);
        mpfr_mul(r27601, r27599, r27600, MPFR_RNDN);
        mpfr_sub(r27602, r27598, r27601, MPFR_RNDN);
        mpfr_set_d(r27603, j, MPFR_RNDN);
        ;
        mpfr_mul(r27605, r27603, r27604, MPFR_RNDN);
        mpfr_set_d(r27606, k, MPFR_RNDN);
        mpfr_mul(r27607, r27605, r27606, MPFR_RNDN);
        mpfr_sub(r27608, r27602, r27607, MPFR_RNDN);
        return mpfr_get_d(r27608, MPFR_RNDN);
}

static mpfr_t r27609, r27610, r27611, r27612, r27613, r27614, r27615, r27616, r27617, r27618, r27619, r27620, r27621, r27622, r27623, r27624, r27625, r27626, r27627, r27628, r27629, r27630, r27631, r27632, r27633, r27634, r27635, r27636, r27637, r27638, r27639, r27640, r27641, r27642, r27643, r27644, r27645, r27646, r27647, r27648, r27649, r27650, r27651, r27652, r27653, r27654, r27655, r27656, r27657, r27658, r27659, r27660, r27661, r27662, r27663, r27664, r27665, r27666, r27667, r27668, r27669, r27670, r27671, r27672, r27673, r27674, r27675;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27609);
        mpfr_init(r27610);
        mpfr_init(r27611);
        mpfr_init(r27612);
        mpfr_init_set_str(r27613, "27.0", 10, MPFR_RNDN);
        mpfr_init(r27614);
        mpfr_init(r27615);
        mpfr_init(r27616);
        mpfr_init(r27617);
        mpfr_init(r27618);
        mpfr_init(r27619);
        mpfr_init_set_str(r27620, "4.0", 10, MPFR_RNDN);
        mpfr_init(r27621);
        mpfr_init(r27622);
        mpfr_init(r27623);
        mpfr_init(r27624);
        mpfr_init(r27625);
        mpfr_init(r27626);
        mpfr_init_set_str(r27627, "18.0", 10, MPFR_RNDN);
        mpfr_init(r27628);
        mpfr_init(r27629);
        mpfr_init(r27630);
        mpfr_init(r27631);
        mpfr_init(r27632);
        mpfr_init(r27633);
        mpfr_init(r27634);
        mpfr_init(r27635);
        mpfr_init(r27636);
        mpfr_init(r27637);
        mpfr_init(r27638);
        mpfr_init(r27639);
        mpfr_init(r27640);
        mpfr_init_set_str(r27641, "-5.547019294989348e+302", 10, MPFR_RNDN);
        mpfr_init(r27642);
        mpfr_init(r27643);
        mpfr_init(r27644);
        mpfr_init(r27645);
        mpfr_init(r27646);
        mpfr_init(r27647);
        mpfr_init(r27648);
        mpfr_init(r27649);
        mpfr_init(r27650);
        mpfr_init(r27651);
        mpfr_init(r27652);
        mpfr_init(r27653);
        mpfr_init(r27654);
        mpfr_init(r27655);
        mpfr_init(r27656);
        mpfr_init(r27657);
        mpfr_init_set_str(r27658, "-1.9183469463938016e+93", 10, MPFR_RNDN);
        mpfr_init(r27659);
        mpfr_init_set_str(r27660, "4.218312456325165e+301", 10, MPFR_RNDN);
        mpfr_init(r27661);
        mpfr_init(r27662);
        mpfr_init(r27663);
        mpfr_init(r27664);
        mpfr_init(r27665);
        mpfr_init(r27666);
        mpfr_init(r27667);
        mpfr_init(r27668);
        mpfr_init(r27669);
        mpfr_init(r27670);
        mpfr_init(r27671);
        mpfr_init(r27672);
        mpfr_init(r27673);
        mpfr_init(r27674);
        mpfr_init(r27675);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        mpfr_set_d(r27609, c, MPFR_RNDN);
        mpfr_set_d(r27610, b, MPFR_RNDN);
        mpfr_mul(r27611, r27609, r27610, MPFR_RNDN);
        mpfr_set_d(r27612, k, MPFR_RNDN);
        ;
        mpfr_set_d(r27614, j, MPFR_RNDN);
        mpfr_mul(r27615, r27613, r27614, MPFR_RNDN);
        mpfr_mul(r27616, r27612, r27615, MPFR_RNDN);
        mpfr_sub(r27617, r27611, r27616, MPFR_RNDN);
        mpfr_set_d(r27618, x, MPFR_RNDN);
        mpfr_set_d(r27619, i, MPFR_RNDN);
        ;
        mpfr_mul(r27621, r27619, r27620, MPFR_RNDN);
        mpfr_mul(r27622, r27621, r27621, MPFR_RNDN);
        mpfr_set_d(r27623, t, MPFR_RNDN);
        mpfr_set_d(r27624, y, MPFR_RNDN);
        mpfr_mul(r27625, r27623, r27624, MPFR_RNDN);
        mpfr_set_d(r27626, z, MPFR_RNDN);
        ;
        mpfr_mul(r27628, r27626, r27627, MPFR_RNDN);
        mpfr_mul(r27629, r27625, r27628, MPFR_RNDN);
        mpfr_mul(r27630, r27629, r27629, MPFR_RNDN);
        mpfr_sub(r27631, r27622, r27630, MPFR_RNDN);
        mpfr_mul(r27632, r27618, r27631, MPFR_RNDN);
        mpfr_add(r27633, r27621, r27629, MPFR_RNDN);
        mpfr_div(r27634, r27632, r27633, MPFR_RNDN);
        mpfr_sub(r27635, r27617, r27634, MPFR_RNDN);
        mpfr_set_d(r27636, a, MPFR_RNDN);
        mpfr_mul(r27637, r27620, r27636, MPFR_RNDN);
        mpfr_neg(r27638, r27637, MPFR_RNDN);
        mpfr_mul(r27639, r27638, r27623, MPFR_RNDN);
        mpfr_add(r27640, r27635, r27639, MPFR_RNDN);
        ;
        mpfr_set_si(r27642, mpfr_cmp(r27640, r27641) <= 0, MPFR_RNDN);
        mpfr_mul(r27643, r27618, r27627, MPFR_RNDN);
        mpfr_mul(r27644, r27643, r27624, MPFR_RNDN);
        mpfr_mul(r27645, r27644, r27626, MPFR_RNDN);
        mpfr_mul(r27646, r27645, r27623, MPFR_RNDN);
        mpfr_mul(r27647, r27636, r27620, MPFR_RNDN);
        mpfr_mul(r27648, r27647, r27623, MPFR_RNDN);
        mpfr_sub(r27649, r27646, r27648, MPFR_RNDN);
        mpfr_mul(r27650, r27610, r27609, MPFR_RNDN);
        mpfr_add(r27651, r27649, r27650, MPFR_RNDN);
        mpfr_mul(r27652, r27618, r27620, MPFR_RNDN);
        mpfr_mul(r27653, r27652, r27619, MPFR_RNDN);
        mpfr_sub(r27654, r27651, r27653, MPFR_RNDN);
        mpfr_mul(r27655, r27614, r27613, MPFR_RNDN);
        mpfr_mul(r27656, r27655, r27612, MPFR_RNDN);
        mpfr_sub(r27657, r27654, r27656, MPFR_RNDN);
        ;
        mpfr_set_si(r27659, mpfr_cmp(r27640, r27658) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r27661, mpfr_cmp(r27640, r27660) <= 0, MPFR_RNDN);
        mpfr_mul(r27662, r27612, r27614, MPFR_RNDN);
        mpfr_mul(r27663, r27662, r27613, MPFR_RNDN);
        mpfr_sub(r27664, r27611, r27663, MPFR_RNDN);
        mpfr_mul(r27665, r27623, r27627, MPFR_RNDN);
        mpfr_mul(r27666, r27626, r27624, MPFR_RNDN);
        mpfr_mul(r27667, r27665, r27666, MPFR_RNDN);
        mpfr_sub(r27668, r27621, r27667, MPFR_RNDN);
        mpfr_mul(r27669, r27618, r27668, MPFR_RNDN);
        mpfr_sub(r27670, r27664, r27669, MPFR_RNDN);
        mpfr_mul(r27671, r27623, r27638, MPFR_RNDN);
        mpfr_add(r27672, r27670, r27671, MPFR_RNDN);
        if (mpfr_get_si(r27661, MPFR_RNDN)) { mpfr_set(r27673, r27672, MPFR_RNDN); } else { mpfr_set(r27673, r27657, MPFR_RNDN); };
        if (mpfr_get_si(r27659, MPFR_RNDN)) { mpfr_set(r27674, r27640, MPFR_RNDN); } else { mpfr_set(r27674, r27673, MPFR_RNDN); };
        if (mpfr_get_si(r27642, MPFR_RNDN)) { mpfr_set(r27675, r27657, MPFR_RNDN); } else { mpfr_set(r27675, r27674, MPFR_RNDN); };
        return mpfr_get_d(r27675, MPFR_RNDN);
}

static mpfr_t r27676, r27677, r27678, r27679, r27680, r27681, r27682, r27683, r27684, r27685, r27686, r27687, r27688, r27689, r27690, r27691, r27692, r27693, r27694, r27695, r27696, r27697, r27698, r27699, r27700, r27701, r27702, r27703, r27704, r27705, r27706, r27707, r27708, r27709, r27710, r27711, r27712, r27713, r27714, r27715, r27716, r27717, r27718, r27719, r27720, r27721, r27722, r27723, r27724, r27725, r27726, r27727, r27728, r27729, r27730, r27731, r27732, r27733, r27734, r27735, r27736, r27737, r27738, r27739, r27740, r27741, r27742;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27676);
        mpfr_init(r27677);
        mpfr_init(r27678);
        mpfr_init(r27679);
        mpfr_init_set_str(r27680, "27.0", 10, MPFR_RNDN);
        mpfr_init(r27681);
        mpfr_init(r27682);
        mpfr_init(r27683);
        mpfr_init(r27684);
        mpfr_init(r27685);
        mpfr_init(r27686);
        mpfr_init_set_str(r27687, "4.0", 10, MPFR_RNDN);
        mpfr_init(r27688);
        mpfr_init(r27689);
        mpfr_init(r27690);
        mpfr_init(r27691);
        mpfr_init(r27692);
        mpfr_init(r27693);
        mpfr_init_set_str(r27694, "18.0", 10, MPFR_RNDN);
        mpfr_init(r27695);
        mpfr_init(r27696);
        mpfr_init(r27697);
        mpfr_init(r27698);
        mpfr_init(r27699);
        mpfr_init(r27700);
        mpfr_init(r27701);
        mpfr_init(r27702);
        mpfr_init(r27703);
        mpfr_init(r27704);
        mpfr_init(r27705);
        mpfr_init(r27706);
        mpfr_init(r27707);
        mpfr_init_set_str(r27708, "-5.547019294989348e+302", 10, MPFR_RNDN);
        mpfr_init(r27709);
        mpfr_init(r27710);
        mpfr_init(r27711);
        mpfr_init(r27712);
        mpfr_init(r27713);
        mpfr_init(r27714);
        mpfr_init(r27715);
        mpfr_init(r27716);
        mpfr_init(r27717);
        mpfr_init(r27718);
        mpfr_init(r27719);
        mpfr_init(r27720);
        mpfr_init(r27721);
        mpfr_init(r27722);
        mpfr_init(r27723);
        mpfr_init(r27724);
        mpfr_init_set_str(r27725, "-1.9183469463938016e+93", 10, MPFR_RNDN);
        mpfr_init(r27726);
        mpfr_init_set_str(r27727, "4.218312456325165e+301", 10, MPFR_RNDN);
        mpfr_init(r27728);
        mpfr_init(r27729);
        mpfr_init(r27730);
        mpfr_init(r27731);
        mpfr_init(r27732);
        mpfr_init(r27733);
        mpfr_init(r27734);
        mpfr_init(r27735);
        mpfr_init(r27736);
        mpfr_init(r27737);
        mpfr_init(r27738);
        mpfr_init(r27739);
        mpfr_init(r27740);
        mpfr_init(r27741);
        mpfr_init(r27742);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        mpfr_set_d(r27676, c, MPFR_RNDN);
        mpfr_set_d(r27677, b, MPFR_RNDN);
        mpfr_mul(r27678, r27676, r27677, MPFR_RNDN);
        mpfr_set_d(r27679, k, MPFR_RNDN);
        ;
        mpfr_set_d(r27681, j, MPFR_RNDN);
        mpfr_mul(r27682, r27680, r27681, MPFR_RNDN);
        mpfr_mul(r27683, r27679, r27682, MPFR_RNDN);
        mpfr_sub(r27684, r27678, r27683, MPFR_RNDN);
        mpfr_set_d(r27685, x, MPFR_RNDN);
        mpfr_set_d(r27686, i, MPFR_RNDN);
        ;
        mpfr_mul(r27688, r27686, r27687, MPFR_RNDN);
        mpfr_mul(r27689, r27688, r27688, MPFR_RNDN);
        mpfr_set_d(r27690, t, MPFR_RNDN);
        mpfr_set_d(r27691, y, MPFR_RNDN);
        mpfr_mul(r27692, r27690, r27691, MPFR_RNDN);
        mpfr_set_d(r27693, z, MPFR_RNDN);
        ;
        mpfr_mul(r27695, r27693, r27694, MPFR_RNDN);
        mpfr_mul(r27696, r27692, r27695, MPFR_RNDN);
        mpfr_mul(r27697, r27696, r27696, MPFR_RNDN);
        mpfr_sub(r27698, r27689, r27697, MPFR_RNDN);
        mpfr_mul(r27699, r27685, r27698, MPFR_RNDN);
        mpfr_add(r27700, r27688, r27696, MPFR_RNDN);
        mpfr_div(r27701, r27699, r27700, MPFR_RNDN);
        mpfr_sub(r27702, r27684, r27701, MPFR_RNDN);
        mpfr_set_d(r27703, a, MPFR_RNDN);
        mpfr_mul(r27704, r27687, r27703, MPFR_RNDN);
        mpfr_neg(r27705, r27704, MPFR_RNDN);
        mpfr_mul(r27706, r27705, r27690, MPFR_RNDN);
        mpfr_add(r27707, r27702, r27706, MPFR_RNDN);
        ;
        mpfr_set_si(r27709, mpfr_cmp(r27707, r27708) <= 0, MPFR_RNDN);
        mpfr_mul(r27710, r27685, r27694, MPFR_RNDN);
        mpfr_mul(r27711, r27710, r27691, MPFR_RNDN);
        mpfr_mul(r27712, r27711, r27693, MPFR_RNDN);
        mpfr_mul(r27713, r27712, r27690, MPFR_RNDN);
        mpfr_mul(r27714, r27703, r27687, MPFR_RNDN);
        mpfr_mul(r27715, r27714, r27690, MPFR_RNDN);
        mpfr_sub(r27716, r27713, r27715, MPFR_RNDN);
        mpfr_mul(r27717, r27677, r27676, MPFR_RNDN);
        mpfr_add(r27718, r27716, r27717, MPFR_RNDN);
        mpfr_mul(r27719, r27685, r27687, MPFR_RNDN);
        mpfr_mul(r27720, r27719, r27686, MPFR_RNDN);
        mpfr_sub(r27721, r27718, r27720, MPFR_RNDN);
        mpfr_mul(r27722, r27681, r27680, MPFR_RNDN);
        mpfr_mul(r27723, r27722, r27679, MPFR_RNDN);
        mpfr_sub(r27724, r27721, r27723, MPFR_RNDN);
        ;
        mpfr_set_si(r27726, mpfr_cmp(r27707, r27725) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r27728, mpfr_cmp(r27707, r27727) <= 0, MPFR_RNDN);
        mpfr_mul(r27729, r27679, r27681, MPFR_RNDN);
        mpfr_mul(r27730, r27729, r27680, MPFR_RNDN);
        mpfr_sub(r27731, r27678, r27730, MPFR_RNDN);
        mpfr_mul(r27732, r27690, r27694, MPFR_RNDN);
        mpfr_mul(r27733, r27693, r27691, MPFR_RNDN);
        mpfr_mul(r27734, r27732, r27733, MPFR_RNDN);
        mpfr_sub(r27735, r27688, r27734, MPFR_RNDN);
        mpfr_mul(r27736, r27685, r27735, MPFR_RNDN);
        mpfr_sub(r27737, r27731, r27736, MPFR_RNDN);
        mpfr_mul(r27738, r27690, r27705, MPFR_RNDN);
        mpfr_add(r27739, r27737, r27738, MPFR_RNDN);
        if (mpfr_get_si(r27728, MPFR_RNDN)) { mpfr_set(r27740, r27739, MPFR_RNDN); } else { mpfr_set(r27740, r27724, MPFR_RNDN); };
        if (mpfr_get_si(r27726, MPFR_RNDN)) { mpfr_set(r27741, r27707, MPFR_RNDN); } else { mpfr_set(r27741, r27740, MPFR_RNDN); };
        if (mpfr_get_si(r27709, MPFR_RNDN)) { mpfr_set(r27742, r27724, MPFR_RNDN); } else { mpfr_set(r27742, r27741, MPFR_RNDN); };
        return mpfr_get_d(r27742, MPFR_RNDN);
}

