#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 r46335 = x;
        float r46336 = 1.0;
        float r46337 = r46335 + r46336;
        float r46338 = sqrt(r46337);
        float r46339 = sqrt(r46335);
        float r46340 = r46338 - r46339;
        float r46341 = y;
        float r46342 = r46341 + r46336;
        float r46343 = sqrt(r46342);
        float r46344 = sqrt(r46341);
        float r46345 = r46343 - r46344;
        float r46346 = r46340 + r46345;
        float r46347 = z;
        float r46348 = r46347 + r46336;
        float r46349 = sqrt(r46348);
        float r46350 = sqrt(r46347);
        float r46351 = r46349 - r46350;
        float r46352 = r46346 + r46351;
        float r46353 = t;
        float r46354 = r46353 + r46336;
        float r46355 = sqrt(r46354);
        float r46356 = sqrt(r46353);
        float r46357 = r46355 - r46356;
        float r46358 = r46352 + r46357;
        return r46358;
}

double f_id(double x, double y, double z, double t) {
        double r46359 = x;
        double r46360 = 1.0;
        double r46361 = r46359 + r46360;
        double r46362 = sqrt(r46361);
        double r46363 = sqrt(r46359);
        double r46364 = r46362 - r46363;
        double r46365 = y;
        double r46366 = r46365 + r46360;
        double r46367 = sqrt(r46366);
        double r46368 = sqrt(r46365);
        double r46369 = r46367 - r46368;
        double r46370 = r46364 + r46369;
        double r46371 = z;
        double r46372 = r46371 + r46360;
        double r46373 = sqrt(r46372);
        double r46374 = sqrt(r46371);
        double r46375 = r46373 - r46374;
        double r46376 = r46370 + r46375;
        double r46377 = t;
        double r46378 = r46377 + r46360;
        double r46379 = sqrt(r46378);
        double r46380 = sqrt(r46377);
        double r46381 = r46379 - r46380;
        double r46382 = r46376 + r46381;
        return r46382;
}


double f_of(float x, float y, float z, float t) {
        float r46383 = x;
        float r46384 = 1.0;
        float r46385 = r46383 + r46384;
        float r46386 = sqrt(r46385);
        float r46387 = sqrt(r46383);
        float r46388 = r46386 - r46387;
        float r46389 = y;
        float r46390 = r46389 + r46384;
        float r46391 = sqrt(r46390);
        float r46392 = sqrt(r46389);
        float r46393 = r46391 + r46392;
        float r46394 = r46384 / r46393;
        float r46395 = r46388 + r46394;
        float r46396 = z;
        float r46397 = r46396 + r46384;
        float r46398 = sqrt(r46397);
        float r46399 = sqrt(r46396);
        float r46400 = r46398 + r46399;
        float r46401 = r46384 / r46400;
        float r46402 = 3;
        float r46403 = pow(r46401, r46402);
        float r46404 = cbrt(r46403);
        float r46405 = r46395 + r46404;
        float r46406 = t;
        float r46407 = r46406 + r46384;
        float r46408 = sqrt(r46407);
        float r46409 = sqrt(r46406);
        float r46410 = r46408 + r46409;
        float r46411 = r46384 / r46410;
        float r46412 = r46405 + r46411;
        return r46412;
}

double f_od(double x, double y, double z, double t) {
        double r46413 = x;
        double r46414 = 1.0;
        double r46415 = r46413 + r46414;
        double r46416 = sqrt(r46415);
        double r46417 = sqrt(r46413);
        double r46418 = r46416 - r46417;
        double r46419 = y;
        double r46420 = r46419 + r46414;
        double r46421 = sqrt(r46420);
        double r46422 = sqrt(r46419);
        double r46423 = r46421 + r46422;
        double r46424 = r46414 / r46423;
        double r46425 = r46418 + r46424;
        double r46426 = z;
        double r46427 = r46426 + r46414;
        double r46428 = sqrt(r46427);
        double r46429 = sqrt(r46426);
        double r46430 = r46428 + r46429;
        double r46431 = r46414 / r46430;
        double r46432 = 3;
        double r46433 = pow(r46431, r46432);
        double r46434 = cbrt(r46433);
        double r46435 = r46425 + r46434;
        double r46436 = t;
        double r46437 = r46436 + r46414;
        double r46438 = sqrt(r46437);
        double r46439 = sqrt(r46436);
        double r46440 = r46438 + r46439;
        double r46441 = r46414 / r46440;
        double r46442 = r46435 + r46441;
        return r46442;
}

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 r46443, r46444, r46445, r46446, r46447, r46448, r46449, r46450, r46451, r46452, r46453, r46454, r46455, r46456, r46457, r46458, r46459, r46460, r46461, r46462, r46463, r46464, r46465, r46466;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46443);
        mpfr_init_set_str(r46444, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46445);
        mpfr_init(r46446);
        mpfr_init(r46447);
        mpfr_init(r46448);
        mpfr_init(r46449);
        mpfr_init(r46450);
        mpfr_init(r46451);
        mpfr_init(r46452);
        mpfr_init(r46453);
        mpfr_init(r46454);
        mpfr_init(r46455);
        mpfr_init(r46456);
        mpfr_init(r46457);
        mpfr_init(r46458);
        mpfr_init(r46459);
        mpfr_init(r46460);
        mpfr_init(r46461);
        mpfr_init(r46462);
        mpfr_init(r46463);
        mpfr_init(r46464);
        mpfr_init(r46465);
        mpfr_init(r46466);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r46443, x, MPFR_RNDN);
        ;
        mpfr_add(r46445, r46443, r46444, MPFR_RNDN);
        mpfr_sqrt(r46446, r46445, MPFR_RNDN);
        mpfr_sqrt(r46447, r46443, MPFR_RNDN);
        mpfr_sub(r46448, r46446, r46447, MPFR_RNDN);
        mpfr_set_d(r46449, y, MPFR_RNDN);
        mpfr_add(r46450, r46449, r46444, MPFR_RNDN);
        mpfr_sqrt(r46451, r46450, MPFR_RNDN);
        mpfr_sqrt(r46452, r46449, MPFR_RNDN);
        mpfr_sub(r46453, r46451, r46452, MPFR_RNDN);
        mpfr_add(r46454, r46448, r46453, MPFR_RNDN);
        mpfr_set_d(r46455, z, MPFR_RNDN);
        mpfr_add(r46456, r46455, r46444, MPFR_RNDN);
        mpfr_sqrt(r46457, r46456, MPFR_RNDN);
        mpfr_sqrt(r46458, r46455, MPFR_RNDN);
        mpfr_sub(r46459, r46457, r46458, MPFR_RNDN);
        mpfr_add(r46460, r46454, r46459, MPFR_RNDN);
        mpfr_set_d(r46461, t, MPFR_RNDN);
        mpfr_add(r46462, r46461, r46444, MPFR_RNDN);
        mpfr_sqrt(r46463, r46462, MPFR_RNDN);
        mpfr_sqrt(r46464, r46461, MPFR_RNDN);
        mpfr_sub(r46465, r46463, r46464, MPFR_RNDN);
        mpfr_add(r46466, r46460, r46465, MPFR_RNDN);
        return mpfr_get_d(r46466, MPFR_RNDN);
}

static mpfr_t r46467, r46468, r46469, r46470, r46471, r46472, r46473, r46474, r46475, r46476, r46477, r46478, r46479, r46480, r46481, r46482, r46483, r46484, r46485, r46486, r46487, r46488, r46489, r46490, r46491, r46492, r46493, r46494, r46495, r46496;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46467);
        mpfr_init_set_str(r46468, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46469);
        mpfr_init(r46470);
        mpfr_init(r46471);
        mpfr_init(r46472);
        mpfr_init(r46473);
        mpfr_init(r46474);
        mpfr_init(r46475);
        mpfr_init(r46476);
        mpfr_init(r46477);
        mpfr_init(r46478);
        mpfr_init(r46479);
        mpfr_init(r46480);
        mpfr_init(r46481);
        mpfr_init(r46482);
        mpfr_init(r46483);
        mpfr_init(r46484);
        mpfr_init(r46485);
        mpfr_init_set_str(r46486, "3", 10, MPFR_RNDN);
        mpfr_init(r46487);
        mpfr_init(r46488);
        mpfr_init(r46489);
        mpfr_init(r46490);
        mpfr_init(r46491);
        mpfr_init(r46492);
        mpfr_init(r46493);
        mpfr_init(r46494);
        mpfr_init(r46495);
        mpfr_init(r46496);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r46467, x, MPFR_RNDN);
        ;
        mpfr_add(r46469, r46467, r46468, MPFR_RNDN);
        mpfr_sqrt(r46470, r46469, MPFR_RNDN);
        mpfr_sqrt(r46471, r46467, MPFR_RNDN);
        mpfr_sub(r46472, r46470, r46471, MPFR_RNDN);
        mpfr_set_d(r46473, y, MPFR_RNDN);
        mpfr_add(r46474, r46473, r46468, MPFR_RNDN);
        mpfr_sqrt(r46475, r46474, MPFR_RNDN);
        mpfr_sqrt(r46476, r46473, MPFR_RNDN);
        mpfr_add(r46477, r46475, r46476, MPFR_RNDN);
        mpfr_div(r46478, r46468, r46477, MPFR_RNDN);
        mpfr_add(r46479, r46472, r46478, MPFR_RNDN);
        mpfr_set_d(r46480, z, MPFR_RNDN);
        mpfr_add(r46481, r46480, r46468, MPFR_RNDN);
        mpfr_sqrt(r46482, r46481, MPFR_RNDN);
        mpfr_sqrt(r46483, r46480, MPFR_RNDN);
        mpfr_add(r46484, r46482, r46483, MPFR_RNDN);
        mpfr_div(r46485, r46468, r46484, MPFR_RNDN);
        ;
        mpfr_pow(r46487, r46485, r46486, MPFR_RNDN);
        mpfr_cbrt(r46488, r46487, MPFR_RNDN);
        mpfr_add(r46489, r46479, r46488, MPFR_RNDN);
        mpfr_set_d(r46490, t, MPFR_RNDN);
        mpfr_add(r46491, r46490, r46468, MPFR_RNDN);
        mpfr_sqrt(r46492, r46491, MPFR_RNDN);
        mpfr_sqrt(r46493, r46490, MPFR_RNDN);
        mpfr_add(r46494, r46492, r46493, MPFR_RNDN);
        mpfr_div(r46495, r46468, r46494, MPFR_RNDN);
        mpfr_add(r46496, r46489, r46495, MPFR_RNDN);
        return mpfr_get_d(r46496, MPFR_RNDN);
}

static mpfr_t r46497, r46498, r46499, r46500, r46501, r46502, r46503, r46504, r46505, r46506, r46507, r46508, r46509, r46510, r46511, r46512, r46513, r46514, r46515, r46516, r46517, r46518, r46519, r46520, r46521, r46522, r46523, r46524, r46525, r46526;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46497);
        mpfr_init_set_str(r46498, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46499);
        mpfr_init(r46500);
        mpfr_init(r46501);
        mpfr_init(r46502);
        mpfr_init(r46503);
        mpfr_init(r46504);
        mpfr_init(r46505);
        mpfr_init(r46506);
        mpfr_init(r46507);
        mpfr_init(r46508);
        mpfr_init(r46509);
        mpfr_init(r46510);
        mpfr_init(r46511);
        mpfr_init(r46512);
        mpfr_init(r46513);
        mpfr_init(r46514);
        mpfr_init(r46515);
        mpfr_init_set_str(r46516, "3", 10, MPFR_RNDN);
        mpfr_init(r46517);
        mpfr_init(r46518);
        mpfr_init(r46519);
        mpfr_init(r46520);
        mpfr_init(r46521);
        mpfr_init(r46522);
        mpfr_init(r46523);
        mpfr_init(r46524);
        mpfr_init(r46525);
        mpfr_init(r46526);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r46497, x, MPFR_RNDN);
        ;
        mpfr_add(r46499, r46497, r46498, MPFR_RNDN);
        mpfr_sqrt(r46500, r46499, MPFR_RNDN);
        mpfr_sqrt(r46501, r46497, MPFR_RNDN);
        mpfr_sub(r46502, r46500, r46501, MPFR_RNDN);
        mpfr_set_d(r46503, y, MPFR_RNDN);
        mpfr_add(r46504, r46503, r46498, MPFR_RNDN);
        mpfr_sqrt(r46505, r46504, MPFR_RNDN);
        mpfr_sqrt(r46506, r46503, MPFR_RNDN);
        mpfr_add(r46507, r46505, r46506, MPFR_RNDN);
        mpfr_div(r46508, r46498, r46507, MPFR_RNDN);
        mpfr_add(r46509, r46502, r46508, MPFR_RNDN);
        mpfr_set_d(r46510, z, MPFR_RNDN);
        mpfr_add(r46511, r46510, r46498, MPFR_RNDN);
        mpfr_sqrt(r46512, r46511, MPFR_RNDN);
        mpfr_sqrt(r46513, r46510, MPFR_RNDN);
        mpfr_add(r46514, r46512, r46513, MPFR_RNDN);
        mpfr_div(r46515, r46498, r46514, MPFR_RNDN);
        ;
        mpfr_pow(r46517, r46515, r46516, MPFR_RNDN);
        mpfr_cbrt(r46518, r46517, MPFR_RNDN);
        mpfr_add(r46519, r46509, r46518, MPFR_RNDN);
        mpfr_set_d(r46520, t, MPFR_RNDN);
        mpfr_add(r46521, r46520, r46498, MPFR_RNDN);
        mpfr_sqrt(r46522, r46521, MPFR_RNDN);
        mpfr_sqrt(r46523, r46520, MPFR_RNDN);
        mpfr_add(r46524, r46522, r46523, MPFR_RNDN);
        mpfr_div(r46525, r46498, r46524, MPFR_RNDN);
        mpfr_add(r46526, r46519, r46525, MPFR_RNDN);
        return mpfr_get_d(r46526, MPFR_RNDN);
}

