#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 r46347 = x;
        float r46348 = 1.0;
        float r46349 = r46347 + r46348;
        float r46350 = sqrt(r46349);
        float r46351 = sqrt(r46347);
        float r46352 = r46350 - r46351;
        float r46353 = y;
        float r46354 = r46353 + r46348;
        float r46355 = sqrt(r46354);
        float r46356 = sqrt(r46353);
        float r46357 = r46355 - r46356;
        float r46358 = r46352 + r46357;
        float r46359 = z;
        float r46360 = r46359 + r46348;
        float r46361 = sqrt(r46360);
        float r46362 = sqrt(r46359);
        float r46363 = r46361 - r46362;
        float r46364 = r46358 + r46363;
        float r46365 = t;
        float r46366 = r46365 + r46348;
        float r46367 = sqrt(r46366);
        float r46368 = sqrt(r46365);
        float r46369 = r46367 - r46368;
        float r46370 = r46364 + r46369;
        return r46370;
}

double f_id(double x, double y, double z, double t) {
        double r46371 = x;
        double r46372 = 1.0;
        double r46373 = r46371 + r46372;
        double r46374 = sqrt(r46373);
        double r46375 = sqrt(r46371);
        double r46376 = r46374 - r46375;
        double r46377 = y;
        double r46378 = r46377 + r46372;
        double r46379 = sqrt(r46378);
        double r46380 = sqrt(r46377);
        double r46381 = r46379 - r46380;
        double r46382 = r46376 + r46381;
        double r46383 = z;
        double r46384 = r46383 + r46372;
        double r46385 = sqrt(r46384);
        double r46386 = sqrt(r46383);
        double r46387 = r46385 - r46386;
        double r46388 = r46382 + r46387;
        double r46389 = t;
        double r46390 = r46389 + r46372;
        double r46391 = sqrt(r46390);
        double r46392 = sqrt(r46389);
        double r46393 = r46391 - r46392;
        double r46394 = r46388 + r46393;
        return r46394;
}


double f_of(float x, float y, float z, float t) {
        float r46395 = x;
        float r46396 = 1.0;
        float r46397 = r46395 + r46396;
        float r46398 = sqrt(r46397);
        float r46399 = sqrt(r46395);
        float r46400 = r46398 - r46399;
        float r46401 = y;
        float r46402 = r46401 + r46396;
        float r46403 = sqrt(r46402);
        float r46404 = sqrt(r46401);
        float r46405 = r46403 + r46404;
        float r46406 = r46396 / r46405;
        float r46407 = r46400 + r46406;
        float r46408 = z;
        float r46409 = r46408 + r46396;
        float r46410 = sqrt(r46409);
        float r46411 = sqrt(r46408);
        float r46412 = r46410 + r46411;
        float r46413 = r46396 / r46412;
        float r46414 = r46407 + r46413;
        float r46415 = t;
        float r46416 = r46415 + r46396;
        float r46417 = sqrt(r46416);
        float r46418 = sqrt(r46415);
        float r46419 = r46417 + r46418;
        float r46420 = r46396 / r46419;
        float r46421 = r46414 + r46420;
        return r46421;
}

double f_od(double x, double y, double z, double t) {
        double r46422 = x;
        double r46423 = 1.0;
        double r46424 = r46422 + r46423;
        double r46425 = sqrt(r46424);
        double r46426 = sqrt(r46422);
        double r46427 = r46425 - r46426;
        double r46428 = y;
        double r46429 = r46428 + r46423;
        double r46430 = sqrt(r46429);
        double r46431 = sqrt(r46428);
        double r46432 = r46430 + r46431;
        double r46433 = r46423 / r46432;
        double r46434 = r46427 + r46433;
        double r46435 = z;
        double r46436 = r46435 + r46423;
        double r46437 = sqrt(r46436);
        double r46438 = sqrt(r46435);
        double r46439 = r46437 + r46438;
        double r46440 = r46423 / r46439;
        double r46441 = r46434 + r46440;
        double r46442 = t;
        double r46443 = r46442 + r46423;
        double r46444 = sqrt(r46443);
        double r46445 = sqrt(r46442);
        double r46446 = r46444 + r46445;
        double r46447 = r46423 / r46446;
        double r46448 = r46441 + r46447;
        return r46448;
}

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 r46449, r46450, r46451, r46452, r46453, r46454, r46455, r46456, r46457, r46458, r46459, r46460, r46461, r46462, r46463, r46464, r46465, r46466, r46467, r46468, r46469, r46470, r46471, r46472;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46449);
        mpfr_init_set_str(r46450, "1.0", 10, MPFR_RNDN);
        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);
        mpfr_init(r46467);
        mpfr_init(r46468);
        mpfr_init(r46469);
        mpfr_init(r46470);
        mpfr_init(r46471);
        mpfr_init(r46472);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r46449, x, MPFR_RNDN);
        ;
        mpfr_add(r46451, r46449, r46450, MPFR_RNDN);
        mpfr_sqrt(r46452, r46451, MPFR_RNDN);
        mpfr_sqrt(r46453, r46449, MPFR_RNDN);
        mpfr_sub(r46454, r46452, r46453, MPFR_RNDN);
        mpfr_set_d(r46455, y, MPFR_RNDN);
        mpfr_add(r46456, r46455, r46450, 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, z, MPFR_RNDN);
        mpfr_add(r46462, r46461, r46450, 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);
        mpfr_set_d(r46467, t, MPFR_RNDN);
        mpfr_add(r46468, r46467, r46450, MPFR_RNDN);
        mpfr_sqrt(r46469, r46468, MPFR_RNDN);
        mpfr_sqrt(r46470, r46467, MPFR_RNDN);
        mpfr_sub(r46471, r46469, r46470, MPFR_RNDN);
        mpfr_add(r46472, r46466, r46471, MPFR_RNDN);
        return mpfr_get_d(r46472, MPFR_RNDN);
}

static mpfr_t r46473, r46474, r46475, r46476, r46477, r46478, r46479, r46480, r46481, r46482, r46483, r46484, r46485, r46486, r46487, r46488, r46489, r46490, r46491, r46492, r46493, r46494, r46495, r46496, r46497, r46498, r46499;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46473);
        mpfr_init_set_str(r46474, "1.0", 10, MPFR_RNDN);
        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(r46486);
        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);
        mpfr_init(r46497);
        mpfr_init(r46498);
        mpfr_init(r46499);
}

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

static mpfr_t 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(r46500);
        mpfr_init_set_str(r46501, "1.0", 10, MPFR_RNDN);
        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(r46516);
        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(r46500, x, MPFR_RNDN);
        ;
        mpfr_add(r46502, r46500, r46501, MPFR_RNDN);
        mpfr_sqrt(r46503, r46502, MPFR_RNDN);
        mpfr_sqrt(r46504, r46500, MPFR_RNDN);
        mpfr_sub(r46505, r46503, r46504, MPFR_RNDN);
        mpfr_set_d(r46506, y, MPFR_RNDN);
        mpfr_add(r46507, r46506, r46501, MPFR_RNDN);
        mpfr_sqrt(r46508, r46507, MPFR_RNDN);
        mpfr_sqrt(r46509, r46506, MPFR_RNDN);
        mpfr_add(r46510, r46508, r46509, MPFR_RNDN);
        mpfr_div(r46511, r46501, r46510, MPFR_RNDN);
        mpfr_add(r46512, r46505, r46511, MPFR_RNDN);
        mpfr_set_d(r46513, z, MPFR_RNDN);
        mpfr_add(r46514, r46513, r46501, MPFR_RNDN);
        mpfr_sqrt(r46515, r46514, MPFR_RNDN);
        mpfr_sqrt(r46516, r46513, MPFR_RNDN);
        mpfr_add(r46517, r46515, r46516, MPFR_RNDN);
        mpfr_div(r46518, r46501, r46517, MPFR_RNDN);
        mpfr_add(r46519, r46512, r46518, MPFR_RNDN);
        mpfr_set_d(r46520, t, MPFR_RNDN);
        mpfr_add(r46521, r46520, r46501, MPFR_RNDN);
        mpfr_sqrt(r46522, r46521, MPFR_RNDN);
        mpfr_sqrt(r46523, r46520, MPFR_RNDN);
        mpfr_add(r46524, r46522, r46523, MPFR_RNDN);
        mpfr_div(r46525, r46501, r46524, MPFR_RNDN);
        mpfr_add(r46526, r46519, r46525, MPFR_RNDN);
        return mpfr_get_d(r46526, MPFR_RNDN);
}

