#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 r46815 = x;
        float r46816 = 1.0;
        float r46817 = r46815 + r46816;
        float r46818 = sqrt(r46817);
        float r46819 = sqrt(r46815);
        float r46820 = r46818 - r46819;
        float r46821 = y;
        float r46822 = r46821 + r46816;
        float r46823 = sqrt(r46822);
        float r46824 = sqrt(r46821);
        float r46825 = r46823 - r46824;
        float r46826 = r46820 + r46825;
        float r46827 = z;
        float r46828 = r46827 + r46816;
        float r46829 = sqrt(r46828);
        float r46830 = sqrt(r46827);
        float r46831 = r46829 - r46830;
        float r46832 = r46826 + r46831;
        float r46833 = t;
        float r46834 = r46833 + r46816;
        float r46835 = sqrt(r46834);
        float r46836 = sqrt(r46833);
        float r46837 = r46835 - r46836;
        float r46838 = r46832 + r46837;
        return r46838;
}

double f_id(double x, double y, double z, double t) {
        double r46839 = x;
        double r46840 = 1.0;
        double r46841 = r46839 + r46840;
        double r46842 = sqrt(r46841);
        double r46843 = sqrt(r46839);
        double r46844 = r46842 - r46843;
        double r46845 = y;
        double r46846 = r46845 + r46840;
        double r46847 = sqrt(r46846);
        double r46848 = sqrt(r46845);
        double r46849 = r46847 - r46848;
        double r46850 = r46844 + r46849;
        double r46851 = z;
        double r46852 = r46851 + r46840;
        double r46853 = sqrt(r46852);
        double r46854 = sqrt(r46851);
        double r46855 = r46853 - r46854;
        double r46856 = r46850 + r46855;
        double r46857 = t;
        double r46858 = r46857 + r46840;
        double r46859 = sqrt(r46858);
        double r46860 = sqrt(r46857);
        double r46861 = r46859 - r46860;
        double r46862 = r46856 + r46861;
        return r46862;
}


double f_of(float x, float y, float z, float t) {
        float r46863 = x;
        float r46864 = 1.0;
        float r46865 = r46863 + r46864;
        float r46866 = sqrt(r46865);
        float r46867 = sqrt(r46863);
        float r46868 = r46866 - r46867;
        float r46869 = y;
        float r46870 = r46869 + r46864;
        float r46871 = sqrt(r46870);
        float r46872 = sqrt(r46869);
        float r46873 = r46871 + r46872;
        float r46874 = r46864 / r46873;
        float r46875 = r46868 + r46874;
        float r46876 = z;
        float r46877 = r46876 + r46864;
        float r46878 = sqrt(r46877);
        float r46879 = sqrt(r46876);
        float r46880 = r46878 + r46879;
        float r46881 = r46864 / r46880;
        float r46882 = r46875 + r46881;
        float r46883 = t;
        float r46884 = r46883 + r46864;
        float r46885 = sqrt(r46884);
        float r46886 = sqrt(r46883);
        float r46887 = r46885 + r46886;
        float r46888 = r46864 / r46887;
        float r46889 = r46882 + r46888;
        return r46889;
}

double f_od(double x, double y, double z, double t) {
        double r46890 = x;
        double r46891 = 1.0;
        double r46892 = r46890 + r46891;
        double r46893 = sqrt(r46892);
        double r46894 = sqrt(r46890);
        double r46895 = r46893 - r46894;
        double r46896 = y;
        double r46897 = r46896 + r46891;
        double r46898 = sqrt(r46897);
        double r46899 = sqrt(r46896);
        double r46900 = r46898 + r46899;
        double r46901 = r46891 / r46900;
        double r46902 = r46895 + r46901;
        double r46903 = z;
        double r46904 = r46903 + r46891;
        double r46905 = sqrt(r46904);
        double r46906 = sqrt(r46903);
        double r46907 = r46905 + r46906;
        double r46908 = r46891 / r46907;
        double r46909 = r46902 + r46908;
        double r46910 = t;
        double r46911 = r46910 + r46891;
        double r46912 = sqrt(r46911);
        double r46913 = sqrt(r46910);
        double r46914 = r46912 + r46913;
        double r46915 = r46891 / r46914;
        double r46916 = r46909 + r46915;
        return r46916;
}

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 r46917, r46918, r46919, r46920, r46921, r46922, r46923, r46924, r46925, r46926, r46927, r46928, r46929, r46930, r46931, r46932, r46933, r46934, r46935, r46936, r46937, r46938, r46939, r46940;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46917);
        mpfr_init_set_str(r46918, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46919);
        mpfr_init(r46920);
        mpfr_init(r46921);
        mpfr_init(r46922);
        mpfr_init(r46923);
        mpfr_init(r46924);
        mpfr_init(r46925);
        mpfr_init(r46926);
        mpfr_init(r46927);
        mpfr_init(r46928);
        mpfr_init(r46929);
        mpfr_init(r46930);
        mpfr_init(r46931);
        mpfr_init(r46932);
        mpfr_init(r46933);
        mpfr_init(r46934);
        mpfr_init(r46935);
        mpfr_init(r46936);
        mpfr_init(r46937);
        mpfr_init(r46938);
        mpfr_init(r46939);
        mpfr_init(r46940);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r46917, x, MPFR_RNDN);
        ;
        mpfr_add(r46919, r46917, r46918, MPFR_RNDN);
        mpfr_sqrt(r46920, r46919, MPFR_RNDN);
        mpfr_sqrt(r46921, r46917, MPFR_RNDN);
        mpfr_sub(r46922, r46920, r46921, MPFR_RNDN);
        mpfr_set_d(r46923, y, MPFR_RNDN);
        mpfr_add(r46924, r46923, r46918, MPFR_RNDN);
        mpfr_sqrt(r46925, r46924, MPFR_RNDN);
        mpfr_sqrt(r46926, r46923, MPFR_RNDN);
        mpfr_sub(r46927, r46925, r46926, MPFR_RNDN);
        mpfr_add(r46928, r46922, r46927, MPFR_RNDN);
        mpfr_set_d(r46929, z, MPFR_RNDN);
        mpfr_add(r46930, r46929, r46918, MPFR_RNDN);
        mpfr_sqrt(r46931, r46930, MPFR_RNDN);
        mpfr_sqrt(r46932, r46929, MPFR_RNDN);
        mpfr_sub(r46933, r46931, r46932, MPFR_RNDN);
        mpfr_add(r46934, r46928, r46933, MPFR_RNDN);
        mpfr_set_d(r46935, t, MPFR_RNDN);
        mpfr_add(r46936, r46935, r46918, MPFR_RNDN);
        mpfr_sqrt(r46937, r46936, MPFR_RNDN);
        mpfr_sqrt(r46938, r46935, MPFR_RNDN);
        mpfr_sub(r46939, r46937, r46938, MPFR_RNDN);
        mpfr_add(r46940, r46934, r46939, MPFR_RNDN);
        return mpfr_get_d(r46940, MPFR_RNDN);
}

static mpfr_t r46941, r46942, r46943, r46944, r46945, r46946, r46947, r46948, r46949, r46950, r46951, r46952, r46953, r46954, r46955, r46956, r46957, r46958, r46959, r46960, r46961, r46962, r46963, r46964, r46965, r46966, r46967;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46941);
        mpfr_init_set_str(r46942, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46943);
        mpfr_init(r46944);
        mpfr_init(r46945);
        mpfr_init(r46946);
        mpfr_init(r46947);
        mpfr_init(r46948);
        mpfr_init(r46949);
        mpfr_init(r46950);
        mpfr_init(r46951);
        mpfr_init(r46952);
        mpfr_init(r46953);
        mpfr_init(r46954);
        mpfr_init(r46955);
        mpfr_init(r46956);
        mpfr_init(r46957);
        mpfr_init(r46958);
        mpfr_init(r46959);
        mpfr_init(r46960);
        mpfr_init(r46961);
        mpfr_init(r46962);
        mpfr_init(r46963);
        mpfr_init(r46964);
        mpfr_init(r46965);
        mpfr_init(r46966);
        mpfr_init(r46967);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r46941, x, MPFR_RNDN);
        ;
        mpfr_add(r46943, r46941, r46942, MPFR_RNDN);
        mpfr_sqrt(r46944, r46943, MPFR_RNDN);
        mpfr_sqrt(r46945, r46941, MPFR_RNDN);
        mpfr_sub(r46946, r46944, r46945, MPFR_RNDN);
        mpfr_set_d(r46947, y, MPFR_RNDN);
        mpfr_add(r46948, r46947, r46942, MPFR_RNDN);
        mpfr_sqrt(r46949, r46948, MPFR_RNDN);
        mpfr_sqrt(r46950, r46947, MPFR_RNDN);
        mpfr_add(r46951, r46949, r46950, MPFR_RNDN);
        mpfr_div(r46952, r46942, r46951, MPFR_RNDN);
        mpfr_add(r46953, r46946, r46952, MPFR_RNDN);
        mpfr_set_d(r46954, z, MPFR_RNDN);
        mpfr_add(r46955, r46954, r46942, MPFR_RNDN);
        mpfr_sqrt(r46956, r46955, MPFR_RNDN);
        mpfr_sqrt(r46957, r46954, MPFR_RNDN);
        mpfr_add(r46958, r46956, r46957, MPFR_RNDN);
        mpfr_div(r46959, r46942, r46958, MPFR_RNDN);
        mpfr_add(r46960, r46953, r46959, MPFR_RNDN);
        mpfr_set_d(r46961, t, MPFR_RNDN);
        mpfr_add(r46962, r46961, r46942, MPFR_RNDN);
        mpfr_sqrt(r46963, r46962, MPFR_RNDN);
        mpfr_sqrt(r46964, r46961, MPFR_RNDN);
        mpfr_add(r46965, r46963, r46964, MPFR_RNDN);
        mpfr_div(r46966, r46942, r46965, MPFR_RNDN);
        mpfr_add(r46967, r46960, r46966, MPFR_RNDN);
        return mpfr_get_d(r46967, MPFR_RNDN);
}

static mpfr_t r46968, r46969, r46970, r46971, r46972, r46973, r46974, r46975, r46976, r46977, r46978, r46979, r46980, r46981, r46982, r46983, r46984, r46985, r46986, r46987, r46988, r46989, r46990, r46991, r46992, r46993, r46994;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46968);
        mpfr_init_set_str(r46969, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46970);
        mpfr_init(r46971);
        mpfr_init(r46972);
        mpfr_init(r46973);
        mpfr_init(r46974);
        mpfr_init(r46975);
        mpfr_init(r46976);
        mpfr_init(r46977);
        mpfr_init(r46978);
        mpfr_init(r46979);
        mpfr_init(r46980);
        mpfr_init(r46981);
        mpfr_init(r46982);
        mpfr_init(r46983);
        mpfr_init(r46984);
        mpfr_init(r46985);
        mpfr_init(r46986);
        mpfr_init(r46987);
        mpfr_init(r46988);
        mpfr_init(r46989);
        mpfr_init(r46990);
        mpfr_init(r46991);
        mpfr_init(r46992);
        mpfr_init(r46993);
        mpfr_init(r46994);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r46968, x, MPFR_RNDN);
        ;
        mpfr_add(r46970, r46968, r46969, MPFR_RNDN);
        mpfr_sqrt(r46971, r46970, MPFR_RNDN);
        mpfr_sqrt(r46972, r46968, MPFR_RNDN);
        mpfr_sub(r46973, r46971, r46972, MPFR_RNDN);
        mpfr_set_d(r46974, y, MPFR_RNDN);
        mpfr_add(r46975, r46974, r46969, MPFR_RNDN);
        mpfr_sqrt(r46976, r46975, MPFR_RNDN);
        mpfr_sqrt(r46977, r46974, MPFR_RNDN);
        mpfr_add(r46978, r46976, r46977, MPFR_RNDN);
        mpfr_div(r46979, r46969, r46978, MPFR_RNDN);
        mpfr_add(r46980, r46973, r46979, MPFR_RNDN);
        mpfr_set_d(r46981, z, MPFR_RNDN);
        mpfr_add(r46982, r46981, r46969, MPFR_RNDN);
        mpfr_sqrt(r46983, r46982, MPFR_RNDN);
        mpfr_sqrt(r46984, r46981, MPFR_RNDN);
        mpfr_add(r46985, r46983, r46984, MPFR_RNDN);
        mpfr_div(r46986, r46969, r46985, MPFR_RNDN);
        mpfr_add(r46987, r46980, r46986, MPFR_RNDN);
        mpfr_set_d(r46988, t, MPFR_RNDN);
        mpfr_add(r46989, r46988, r46969, MPFR_RNDN);
        mpfr_sqrt(r46990, r46989, MPFR_RNDN);
        mpfr_sqrt(r46991, r46988, MPFR_RNDN);
        mpfr_add(r46992, r46990, r46991, MPFR_RNDN);
        mpfr_div(r46993, r46969, r46992, MPFR_RNDN);
        mpfr_add(r46994, r46987, r46993, MPFR_RNDN);
        return mpfr_get_d(r46994, MPFR_RNDN);
}

