#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 r43227 = x;
        float r43228 = 1.0f;
        float r43229 = r43227 + r43228;
        float r43230 = sqrt(r43229);
        float r43231 = sqrt(r43227);
        float r43232 = r43230 - r43231;
        float r43233 = y;
        float r43234 = r43233 + r43228;
        float r43235 = sqrt(r43234);
        float r43236 = sqrt(r43233);
        float r43237 = r43235 - r43236;
        float r43238 = r43232 + r43237;
        float r43239 = z;
        float r43240 = r43239 + r43228;
        float r43241 = sqrt(r43240);
        float r43242 = sqrt(r43239);
        float r43243 = r43241 - r43242;
        float r43244 = r43238 + r43243;
        float r43245 = t;
        float r43246 = r43245 + r43228;
        float r43247 = sqrt(r43246);
        float r43248 = sqrt(r43245);
        float r43249 = r43247 - r43248;
        float r43250 = r43244 + r43249;
        return r43250;
}

double f_id(double x, double y, double z, double t) {
        double r43251 = x;
        double r43252 = 1.0;
        double r43253 = r43251 + r43252;
        double r43254 = sqrt(r43253);
        double r43255 = sqrt(r43251);
        double r43256 = r43254 - r43255;
        double r43257 = y;
        double r43258 = r43257 + r43252;
        double r43259 = sqrt(r43258);
        double r43260 = sqrt(r43257);
        double r43261 = r43259 - r43260;
        double r43262 = r43256 + r43261;
        double r43263 = z;
        double r43264 = r43263 + r43252;
        double r43265 = sqrt(r43264);
        double r43266 = sqrt(r43263);
        double r43267 = r43265 - r43266;
        double r43268 = r43262 + r43267;
        double r43269 = t;
        double r43270 = r43269 + r43252;
        double r43271 = sqrt(r43270);
        double r43272 = sqrt(r43269);
        double r43273 = r43271 - r43272;
        double r43274 = r43268 + r43273;
        return r43274;
}


double f_of(float x, float y, float z, float t) {
        float r43275 = 1.0f;
        float r43276 = x;
        float r43277 = r43276 + r43275;
        float r43278 = sqrt(r43277);
        float r43279 = sqrt(r43276);
        float r43280 = r43278 + r43279;
        float r43281 = r43275 / r43280;
        float r43282 = y;
        float r43283 = r43282 + r43275;
        float r43284 = sqrt(r43283);
        float r43285 = sqrt(r43282);
        float r43286 = r43284 + r43285;
        float r43287 = r43275 / r43286;
        float r43288 = r43281 + r43287;
        float r43289 = z;
        float r43290 = r43289 + r43275;
        float r43291 = sqrt(r43290);
        float r43292 = sqrt(r43289);
        float r43293 = r43291 - r43292;
        float r43294 = r43288 + r43293;
        float r43295 = t;
        float r43296 = r43295 + r43275;
        float r43297 = sqrt(r43296);
        float r43298 = sqrt(r43295);
        float r43299 = r43297 + r43298;
        float r43300 = r43275 / r43299;
        float r43301 = r43294 + r43300;
        return r43301;
}

double f_od(double x, double y, double z, double t) {
        double r43302 = 1.0;
        double r43303 = x;
        double r43304 = r43303 + r43302;
        double r43305 = sqrt(r43304);
        double r43306 = sqrt(r43303);
        double r43307 = r43305 + r43306;
        double r43308 = r43302 / r43307;
        double r43309 = y;
        double r43310 = r43309 + r43302;
        double r43311 = sqrt(r43310);
        double r43312 = sqrt(r43309);
        double r43313 = r43311 + r43312;
        double r43314 = r43302 / r43313;
        double r43315 = r43308 + r43314;
        double r43316 = z;
        double r43317 = r43316 + r43302;
        double r43318 = sqrt(r43317);
        double r43319 = sqrt(r43316);
        double r43320 = r43318 - r43319;
        double r43321 = r43315 + r43320;
        double r43322 = t;
        double r43323 = r43322 + r43302;
        double r43324 = sqrt(r43323);
        double r43325 = sqrt(r43322);
        double r43326 = r43324 + r43325;
        double r43327 = r43302 / r43326;
        double r43328 = r43321 + r43327;
        return r43328;
}

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 r43329, r43330, r43331, r43332, r43333, r43334, r43335, r43336, r43337, r43338, r43339, r43340, r43341, r43342, r43343, r43344, r43345, r43346, r43347, r43348, r43349, r43350, r43351, r43352;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r43329);
        mpfr_init_set_str(r43330, "1.0", 10, MPFR_RNDN);
        mpfr_init(r43331);
        mpfr_init(r43332);
        mpfr_init(r43333);
        mpfr_init(r43334);
        mpfr_init(r43335);
        mpfr_init(r43336);
        mpfr_init(r43337);
        mpfr_init(r43338);
        mpfr_init(r43339);
        mpfr_init(r43340);
        mpfr_init(r43341);
        mpfr_init(r43342);
        mpfr_init(r43343);
        mpfr_init(r43344);
        mpfr_init(r43345);
        mpfr_init(r43346);
        mpfr_init(r43347);
        mpfr_init(r43348);
        mpfr_init(r43349);
        mpfr_init(r43350);
        mpfr_init(r43351);
        mpfr_init(r43352);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r43329, x, MPFR_RNDN);
        ;
        mpfr_add(r43331, r43329, r43330, MPFR_RNDN);
        mpfr_sqrt(r43332, r43331, MPFR_RNDN);
        mpfr_sqrt(r43333, r43329, MPFR_RNDN);
        mpfr_sub(r43334, r43332, r43333, MPFR_RNDN);
        mpfr_set_d(r43335, y, MPFR_RNDN);
        mpfr_add(r43336, r43335, r43330, MPFR_RNDN);
        mpfr_sqrt(r43337, r43336, MPFR_RNDN);
        mpfr_sqrt(r43338, r43335, MPFR_RNDN);
        mpfr_sub(r43339, r43337, r43338, MPFR_RNDN);
        mpfr_add(r43340, r43334, r43339, MPFR_RNDN);
        mpfr_set_d(r43341, z, MPFR_RNDN);
        mpfr_add(r43342, r43341, r43330, MPFR_RNDN);
        mpfr_sqrt(r43343, r43342, MPFR_RNDN);
        mpfr_sqrt(r43344, r43341, MPFR_RNDN);
        mpfr_sub(r43345, r43343, r43344, MPFR_RNDN);
        mpfr_add(r43346, r43340, r43345, MPFR_RNDN);
        mpfr_set_d(r43347, t, MPFR_RNDN);
        mpfr_add(r43348, r43347, r43330, MPFR_RNDN);
        mpfr_sqrt(r43349, r43348, MPFR_RNDN);
        mpfr_sqrt(r43350, r43347, MPFR_RNDN);
        mpfr_sub(r43351, r43349, r43350, MPFR_RNDN);
        mpfr_add(r43352, r43346, r43351, MPFR_RNDN);
        return mpfr_get_d(r43352, MPFR_RNDN);
}

static mpfr_t r43353, r43354, r43355, r43356, r43357, r43358, r43359, r43360, r43361, r43362, r43363, r43364, r43365, r43366, r43367, r43368, r43369, r43370, r43371, r43372, r43373, r43374, r43375, r43376, r43377, r43378, r43379;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r43353, "1.0", 10, MPFR_RNDN);
        mpfr_init(r43354);
        mpfr_init(r43355);
        mpfr_init(r43356);
        mpfr_init(r43357);
        mpfr_init(r43358);
        mpfr_init(r43359);
        mpfr_init(r43360);
        mpfr_init(r43361);
        mpfr_init(r43362);
        mpfr_init(r43363);
        mpfr_init(r43364);
        mpfr_init(r43365);
        mpfr_init(r43366);
        mpfr_init(r43367);
        mpfr_init(r43368);
        mpfr_init(r43369);
        mpfr_init(r43370);
        mpfr_init(r43371);
        mpfr_init(r43372);
        mpfr_init(r43373);
        mpfr_init(r43374);
        mpfr_init(r43375);
        mpfr_init(r43376);
        mpfr_init(r43377);
        mpfr_init(r43378);
        mpfr_init(r43379);
}

double f_fm(double x, double y, double z, double t) {
        ;
        mpfr_set_d(r43354, x, MPFR_RNDN);
        mpfr_add(r43355, r43354, r43353, MPFR_RNDN);
        mpfr_sqrt(r43356, r43355, MPFR_RNDN);
        mpfr_sqrt(r43357, r43354, MPFR_RNDN);
        mpfr_add(r43358, r43356, r43357, MPFR_RNDN);
        mpfr_div(r43359, r43353, r43358, MPFR_RNDN);
        mpfr_set_d(r43360, y, MPFR_RNDN);
        mpfr_add(r43361, r43360, r43353, MPFR_RNDN);
        mpfr_sqrt(r43362, r43361, MPFR_RNDN);
        mpfr_sqrt(r43363, r43360, MPFR_RNDN);
        mpfr_add(r43364, r43362, r43363, MPFR_RNDN);
        mpfr_div(r43365, r43353, r43364, MPFR_RNDN);
        mpfr_add(r43366, r43359, r43365, MPFR_RNDN);
        mpfr_set_d(r43367, z, MPFR_RNDN);
        mpfr_add(r43368, r43367, r43353, MPFR_RNDN);
        mpfr_sqrt(r43369, r43368, MPFR_RNDN);
        mpfr_sqrt(r43370, r43367, MPFR_RNDN);
        mpfr_sub(r43371, r43369, r43370, MPFR_RNDN);
        mpfr_add(r43372, r43366, r43371, MPFR_RNDN);
        mpfr_set_d(r43373, t, MPFR_RNDN);
        mpfr_add(r43374, r43373, r43353, MPFR_RNDN);
        mpfr_sqrt(r43375, r43374, MPFR_RNDN);
        mpfr_sqrt(r43376, r43373, MPFR_RNDN);
        mpfr_add(r43377, r43375, r43376, MPFR_RNDN);
        mpfr_div(r43378, r43353, r43377, MPFR_RNDN);
        mpfr_add(r43379, r43372, r43378, MPFR_RNDN);
        return mpfr_get_d(r43379, MPFR_RNDN);
}

static mpfr_t r43380, r43381, r43382, r43383, r43384, r43385, r43386, r43387, r43388, r43389, r43390, r43391, r43392, r43393, r43394, r43395, r43396, r43397, r43398, r43399, r43400, r43401, r43402, r43403, r43404, r43405, r43406;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r43380, "1.0", 10, MPFR_RNDN);
        mpfr_init(r43381);
        mpfr_init(r43382);
        mpfr_init(r43383);
        mpfr_init(r43384);
        mpfr_init(r43385);
        mpfr_init(r43386);
        mpfr_init(r43387);
        mpfr_init(r43388);
        mpfr_init(r43389);
        mpfr_init(r43390);
        mpfr_init(r43391);
        mpfr_init(r43392);
        mpfr_init(r43393);
        mpfr_init(r43394);
        mpfr_init(r43395);
        mpfr_init(r43396);
        mpfr_init(r43397);
        mpfr_init(r43398);
        mpfr_init(r43399);
        mpfr_init(r43400);
        mpfr_init(r43401);
        mpfr_init(r43402);
        mpfr_init(r43403);
        mpfr_init(r43404);
        mpfr_init(r43405);
        mpfr_init(r43406);
}

double f_dm(double x, double y, double z, double t) {
        ;
        mpfr_set_d(r43381, x, MPFR_RNDN);
        mpfr_add(r43382, r43381, r43380, MPFR_RNDN);
        mpfr_sqrt(r43383, r43382, MPFR_RNDN);
        mpfr_sqrt(r43384, r43381, MPFR_RNDN);
        mpfr_add(r43385, r43383, r43384, MPFR_RNDN);
        mpfr_div(r43386, r43380, r43385, MPFR_RNDN);
        mpfr_set_d(r43387, y, MPFR_RNDN);
        mpfr_add(r43388, r43387, r43380, MPFR_RNDN);
        mpfr_sqrt(r43389, r43388, MPFR_RNDN);
        mpfr_sqrt(r43390, r43387, MPFR_RNDN);
        mpfr_add(r43391, r43389, r43390, MPFR_RNDN);
        mpfr_div(r43392, r43380, r43391, MPFR_RNDN);
        mpfr_add(r43393, r43386, r43392, MPFR_RNDN);
        mpfr_set_d(r43394, z, MPFR_RNDN);
        mpfr_add(r43395, r43394, r43380, MPFR_RNDN);
        mpfr_sqrt(r43396, r43395, MPFR_RNDN);
        mpfr_sqrt(r43397, r43394, MPFR_RNDN);
        mpfr_sub(r43398, r43396, r43397, MPFR_RNDN);
        mpfr_add(r43399, r43393, r43398, MPFR_RNDN);
        mpfr_set_d(r43400, t, MPFR_RNDN);
        mpfr_add(r43401, r43400, r43380, MPFR_RNDN);
        mpfr_sqrt(r43402, r43401, MPFR_RNDN);
        mpfr_sqrt(r43403, r43400, MPFR_RNDN);
        mpfr_add(r43404, r43402, r43403, MPFR_RNDN);
        mpfr_div(r43405, r43380, r43404, MPFR_RNDN);
        mpfr_add(r43406, r43399, r43405, MPFR_RNDN);
        return mpfr_get_d(r43406, MPFR_RNDN);
}

