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

char *name = "Main:z from ";

double f_if(float x, float y, float z, float t) {
        float r46527 = x;
        float r46528 = 1.0;
        float r46529 = r46527 + r46528;
        float r46530 = sqrt(r46529);
        float r46531 = sqrt(r46527);
        float r46532 = r46530 - r46531;
        float r46533 = y;
        float r46534 = r46533 + r46528;
        float r46535 = sqrt(r46534);
        float r46536 = sqrt(r46533);
        float r46537 = r46535 - r46536;
        float r46538 = r46532 + r46537;
        float r46539 = z;
        float r46540 = r46539 + r46528;
        float r46541 = sqrt(r46540);
        float r46542 = sqrt(r46539);
        float r46543 = r46541 - r46542;
        float r46544 = r46538 + r46543;
        float r46545 = t;
        float r46546 = r46545 + r46528;
        float r46547 = sqrt(r46546);
        float r46548 = sqrt(r46545);
        float r46549 = r46547 - r46548;
        float r46550 = r46544 + r46549;
        return r46550;
}

double f_id(double x, double y, double z, double t) {
        double r46551 = x;
        double r46552 = 1.0;
        double r46553 = r46551 + r46552;
        double r46554 = sqrt(r46553);
        double r46555 = sqrt(r46551);
        double r46556 = r46554 - r46555;
        double r46557 = y;
        double r46558 = r46557 + r46552;
        double r46559 = sqrt(r46558);
        double r46560 = sqrt(r46557);
        double r46561 = r46559 - r46560;
        double r46562 = r46556 + r46561;
        double r46563 = z;
        double r46564 = r46563 + r46552;
        double r46565 = sqrt(r46564);
        double r46566 = sqrt(r46563);
        double r46567 = r46565 - r46566;
        double r46568 = r46562 + r46567;
        double r46569 = t;
        double r46570 = r46569 + r46552;
        double r46571 = sqrt(r46570);
        double r46572 = sqrt(r46569);
        double r46573 = r46571 - r46572;
        double r46574 = r46568 + r46573;
        return r46574;
}


double f_of(float x, float y, float z, float t) {
        float r46575 = x;
        float r46576 = 1.0;
        float r46577 = r46575 + r46576;
        float r46578 = sqrt(r46577);
        float r46579 = sqrt(r46575);
        float r46580 = r46578 - r46579;
        float r46581 = y;
        float r46582 = r46581 + r46576;
        float r46583 = sqrt(r46582);
        float r46584 = sqrt(r46581);
        float r46585 = r46583 + r46584;
        float r46586 = r46576 / r46585;
        float r46587 = r46580 + r46586;
        float r46588 = z;
        float r46589 = r46588 + r46576;
        float r46590 = sqrt(r46589);
        float r46591 = sqrt(r46588);
        float r46592 = r46590 + r46591;
        float r46593 = r46576 / r46592;
        float r46594 = r46587 + r46593;
        float r46595 = t;
        float r46596 = r46595 + r46576;
        float r46597 = sqrt(r46596);
        float r46598 = sqrt(r46595);
        float r46599 = r46597 + r46598;
        float r46600 = r46576 / r46599;
        float r46601 = r46594 + r46600;
        return r46601;
}

double f_od(double x, double y, double z, double t) {
        double r46602 = x;
        double r46603 = 1.0;
        double r46604 = r46602 + r46603;
        double r46605 = sqrt(r46604);
        double r46606 = sqrt(r46602);
        double r46607 = r46605 - r46606;
        double r46608 = y;
        double r46609 = r46608 + r46603;
        double r46610 = sqrt(r46609);
        double r46611 = sqrt(r46608);
        double r46612 = r46610 + r46611;
        double r46613 = r46603 / r46612;
        double r46614 = r46607 + r46613;
        double r46615 = z;
        double r46616 = r46615 + r46603;
        double r46617 = sqrt(r46616);
        double r46618 = sqrt(r46615);
        double r46619 = r46617 + r46618;
        double r46620 = r46603 / r46619;
        double r46621 = r46614 + r46620;
        double r46622 = t;
        double r46623 = r46622 + r46603;
        double r46624 = sqrt(r46623);
        double r46625 = sqrt(r46622);
        double r46626 = r46624 + r46625;
        double r46627 = r46603 / r46626;
        double r46628 = r46621 + r46627;
        return r46628;
}

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 r46629, r46630, r46631, r46632, r46633, r46634, r46635, r46636, r46637, r46638, r46639, r46640, r46641, r46642, r46643, r46644, r46645, r46646, r46647, r46648, r46649, r46650, r46651, r46652;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46629);
        mpfr_init_set_str(r46630, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46631);
        mpfr_init(r46632);
        mpfr_init(r46633);
        mpfr_init(r46634);
        mpfr_init(r46635);
        mpfr_init(r46636);
        mpfr_init(r46637);
        mpfr_init(r46638);
        mpfr_init(r46639);
        mpfr_init(r46640);
        mpfr_init(r46641);
        mpfr_init(r46642);
        mpfr_init(r46643);
        mpfr_init(r46644);
        mpfr_init(r46645);
        mpfr_init(r46646);
        mpfr_init(r46647);
        mpfr_init(r46648);
        mpfr_init(r46649);
        mpfr_init(r46650);
        mpfr_init(r46651);
        mpfr_init(r46652);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r46629, x, MPFR_RNDN);
        ;
        mpfr_add(r46631, r46629, r46630, MPFR_RNDN);
        mpfr_sqrt(r46632, r46631, MPFR_RNDN);
        mpfr_sqrt(r46633, r46629, MPFR_RNDN);
        mpfr_sub(r46634, r46632, r46633, MPFR_RNDN);
        mpfr_set_d(r46635, y, MPFR_RNDN);
        mpfr_add(r46636, r46635, r46630, MPFR_RNDN);
        mpfr_sqrt(r46637, r46636, MPFR_RNDN);
        mpfr_sqrt(r46638, r46635, MPFR_RNDN);
        mpfr_sub(r46639, r46637, r46638, MPFR_RNDN);
        mpfr_add(r46640, r46634, r46639, MPFR_RNDN);
        mpfr_set_d(r46641, z, MPFR_RNDN);
        mpfr_add(r46642, r46641, r46630, MPFR_RNDN);
        mpfr_sqrt(r46643, r46642, MPFR_RNDN);
        mpfr_sqrt(r46644, r46641, MPFR_RNDN);
        mpfr_sub(r46645, r46643, r46644, MPFR_RNDN);
        mpfr_add(r46646, r46640, r46645, MPFR_RNDN);
        mpfr_set_d(r46647, t, MPFR_RNDN);
        mpfr_add(r46648, r46647, r46630, MPFR_RNDN);
        mpfr_sqrt(r46649, r46648, MPFR_RNDN);
        mpfr_sqrt(r46650, r46647, MPFR_RNDN);
        mpfr_sub(r46651, r46649, r46650, MPFR_RNDN);
        mpfr_add(r46652, r46646, r46651, MPFR_RNDN);
        return mpfr_get_d(r46652, MPFR_RNDN);
}

static mpfr_t r46653, r46654, r46655, r46656, r46657, r46658, r46659, r46660, r46661, r46662, r46663, r46664, r46665, r46666, r46667, r46668, r46669, r46670, r46671, r46672, r46673, r46674, r46675, r46676, r46677, r46678, r46679;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46653);
        mpfr_init_set_str(r46654, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46655);
        mpfr_init(r46656);
        mpfr_init(r46657);
        mpfr_init(r46658);
        mpfr_init(r46659);
        mpfr_init(r46660);
        mpfr_init(r46661);
        mpfr_init(r46662);
        mpfr_init(r46663);
        mpfr_init(r46664);
        mpfr_init(r46665);
        mpfr_init(r46666);
        mpfr_init(r46667);
        mpfr_init(r46668);
        mpfr_init(r46669);
        mpfr_init(r46670);
        mpfr_init(r46671);
        mpfr_init(r46672);
        mpfr_init(r46673);
        mpfr_init(r46674);
        mpfr_init(r46675);
        mpfr_init(r46676);
        mpfr_init(r46677);
        mpfr_init(r46678);
        mpfr_init(r46679);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r46653, x, MPFR_RNDN);
        ;
        mpfr_add(r46655, r46653, r46654, MPFR_RNDN);
        mpfr_sqrt(r46656, r46655, MPFR_RNDN);
        mpfr_sqrt(r46657, r46653, MPFR_RNDN);
        mpfr_sub(r46658, r46656, r46657, MPFR_RNDN);
        mpfr_set_d(r46659, y, MPFR_RNDN);
        mpfr_add(r46660, r46659, r46654, MPFR_RNDN);
        mpfr_sqrt(r46661, r46660, MPFR_RNDN);
        mpfr_sqrt(r46662, r46659, MPFR_RNDN);
        mpfr_add(r46663, r46661, r46662, MPFR_RNDN);
        mpfr_div(r46664, r46654, r46663, MPFR_RNDN);
        mpfr_add(r46665, r46658, r46664, MPFR_RNDN);
        mpfr_set_d(r46666, z, MPFR_RNDN);
        mpfr_add(r46667, r46666, r46654, MPFR_RNDN);
        mpfr_sqrt(r46668, r46667, MPFR_RNDN);
        mpfr_sqrt(r46669, r46666, MPFR_RNDN);
        mpfr_add(r46670, r46668, r46669, MPFR_RNDN);
        mpfr_div(r46671, r46654, r46670, MPFR_RNDN);
        mpfr_add(r46672, r46665, r46671, MPFR_RNDN);
        mpfr_set_d(r46673, t, MPFR_RNDN);
        mpfr_add(r46674, r46673, r46654, MPFR_RNDN);
        mpfr_sqrt(r46675, r46674, MPFR_RNDN);
        mpfr_sqrt(r46676, r46673, MPFR_RNDN);
        mpfr_add(r46677, r46675, r46676, MPFR_RNDN);
        mpfr_div(r46678, r46654, r46677, MPFR_RNDN);
        mpfr_add(r46679, r46672, r46678, MPFR_RNDN);
        return mpfr_get_d(r46679, MPFR_RNDN);
}

static mpfr_t r46680, r46681, r46682, r46683, r46684, r46685, r46686, r46687, r46688, r46689, r46690, r46691, r46692, r46693, r46694, r46695, r46696, r46697, r46698, r46699, r46700, r46701, r46702, r46703, r46704, r46705, r46706;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46680);
        mpfr_init_set_str(r46681, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46682);
        mpfr_init(r46683);
        mpfr_init(r46684);
        mpfr_init(r46685);
        mpfr_init(r46686);
        mpfr_init(r46687);
        mpfr_init(r46688);
        mpfr_init(r46689);
        mpfr_init(r46690);
        mpfr_init(r46691);
        mpfr_init(r46692);
        mpfr_init(r46693);
        mpfr_init(r46694);
        mpfr_init(r46695);
        mpfr_init(r46696);
        mpfr_init(r46697);
        mpfr_init(r46698);
        mpfr_init(r46699);
        mpfr_init(r46700);
        mpfr_init(r46701);
        mpfr_init(r46702);
        mpfr_init(r46703);
        mpfr_init(r46704);
        mpfr_init(r46705);
        mpfr_init(r46706);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r46680, x, MPFR_RNDN);
        ;
        mpfr_add(r46682, r46680, r46681, MPFR_RNDN);
        mpfr_sqrt(r46683, r46682, MPFR_RNDN);
        mpfr_sqrt(r46684, r46680, MPFR_RNDN);
        mpfr_sub(r46685, r46683, r46684, MPFR_RNDN);
        mpfr_set_d(r46686, y, MPFR_RNDN);
        mpfr_add(r46687, r46686, r46681, MPFR_RNDN);
        mpfr_sqrt(r46688, r46687, MPFR_RNDN);
        mpfr_sqrt(r46689, r46686, MPFR_RNDN);
        mpfr_add(r46690, r46688, r46689, MPFR_RNDN);
        mpfr_div(r46691, r46681, r46690, MPFR_RNDN);
        mpfr_add(r46692, r46685, r46691, MPFR_RNDN);
        mpfr_set_d(r46693, z, MPFR_RNDN);
        mpfr_add(r46694, r46693, r46681, MPFR_RNDN);
        mpfr_sqrt(r46695, r46694, MPFR_RNDN);
        mpfr_sqrt(r46696, r46693, MPFR_RNDN);
        mpfr_add(r46697, r46695, r46696, MPFR_RNDN);
        mpfr_div(r46698, r46681, r46697, MPFR_RNDN);
        mpfr_add(r46699, r46692, r46698, MPFR_RNDN);
        mpfr_set_d(r46700, t, MPFR_RNDN);
        mpfr_add(r46701, r46700, r46681, MPFR_RNDN);
        mpfr_sqrt(r46702, r46701, MPFR_RNDN);
        mpfr_sqrt(r46703, r46700, MPFR_RNDN);
        mpfr_add(r46704, r46702, r46703, MPFR_RNDN);
        mpfr_div(r46705, r46681, r46704, MPFR_RNDN);
        mpfr_add(r46706, r46699, r46705, MPFR_RNDN);
        return mpfr_get_d(r46706, MPFR_RNDN);
}

