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

char *name = "From Warwick Tucker's Validated Numerics";

double f_if() {
        float r18956 = 333.75f;
        float r18957 = 33096.0f;
        float r18958 = 6.0f;
        float r18959 = pow(r18957, r18958);
        float r18960 = r18956 * r18959;
        float r18961 = 77617.0f;
        float r18962 = r18961 * r18961;
        float r18963 = 11.0f;
        float r18964 = r18963 * r18962;
        float r18965 = r18957 * r18957;
        float r18966 = r18964 * r18965;
        float r18967 = -r18959;
        float r18968 = r18966 + r18967;
        float r18969 = -121.0f;
        float r18970 = 4.0f;
        float r18971 = pow(r18957, r18970);
        float r18972 = r18969 * r18971;
        float r18973 = r18968 + r18972;
        float r18974 = -2.0f;
        float r18975 = r18973 + r18974;
        float r18976 = r18962 * r18975;
        float r18977 = r18960 + r18976;
        float r18978 = 5.5f;
        float r18979 = 8.0f;
        float r18980 = pow(r18957, r18979);
        float r18981 = r18978 * r18980;
        float r18982 = r18977 + r18981;
        float r18983 = 2.0f;
        float r18984 = r18983 * r18957;
        float r18985 = r18961 / r18984;
        float r18986 = r18982 + r18985;
        return r18986;
}

double f_id() {
        double r18987 = 333.75;
        double r18988 = 33096.0;
        double r18989 = 6.0;
        double r18990 = pow(r18988, r18989);
        double r18991 = r18987 * r18990;
        double r18992 = 77617.0;
        double r18993 = r18992 * r18992;
        double r18994 = 11.0;
        double r18995 = r18994 * r18993;
        double r18996 = r18988 * r18988;
        double r18997 = r18995 * r18996;
        double r18998 = -r18990;
        double r18999 = r18997 + r18998;
        double r19000 = -121.0;
        double r19001 = 4.0;
        double r19002 = pow(r18988, r19001);
        double r19003 = r19000 * r19002;
        double r19004 = r18999 + r19003;
        double r19005 = -2.0;
        double r19006 = r19004 + r19005;
        double r19007 = r18993 * r19006;
        double r19008 = r18991 + r19007;
        double r19009 = 5.5;
        double r19010 = 8.0;
        double r19011 = pow(r18988, r19010);
        double r19012 = r19009 * r19011;
        double r19013 = r19008 + r19012;
        double r19014 = 2.0;
        double r19015 = r19014 * r18988;
        double r19016 = r18992 / r19015;
        double r19017 = r19013 + r19016;
        return r19017;
}


double f_of() {
        float r19018 = exp(1.0);
        float r19019 = 333.75f;
        float r19020 = 33096.0f;
        float r19021 = 6.0f;
        float r19022 = pow(r19020, r19021);
        float r19023 = r19019 * r19022;
        float r19024 = 77617.0f;
        float r19025 = r19024 * r19024;
        float r19026 = 11.0f;
        float r19027 = r19026 * r19025;
        float r19028 = r19020 * r19020;
        float r19029 = r19027 * r19028;
        float r19030 = -r19022;
        float r19031 = r19029 + r19030;
        float r19032 = -121.0f;
        float r19033 = 4.0f;
        float r19034 = pow(r19020, r19033);
        float r19035 = r19032 * r19034;
        float r19036 = r19031 + r19035;
        float r19037 = -2.0f;
        float r19038 = r19036 + r19037;
        float r19039 = r19025 * r19038;
        float r19040 = r19023 + r19039;
        float r19041 = r19040 * r19040;
        float r19042 = 5.5f;
        float r19043 = 8.0f;
        float r19044 = pow(r19020, r19043);
        float r19045 = r19042 * r19044;
        float r19046 = r19045 * r19045;
        float r19047 = r19041 - r19046;
        float r19048 = log(r19047);
        float r19049 = pow(r19018, r19048);
        float r19050 = r19040 - r19045;
        float r19051 = r19049 / r19050;
        float r19052 = 2.0f;
        float r19053 = r19052 * r19020;
        float r19054 = r19024 / r19053;
        float r19055 = r19051 + r19054;
        return r19055;
}

double f_od() {
        double r19056 = exp(1.0);
        double r19057 = 333.75;
        double r19058 = 33096.0;
        double r19059 = 6.0;
        double r19060 = pow(r19058, r19059);
        double r19061 = r19057 * r19060;
        double r19062 = 77617.0;
        double r19063 = r19062 * r19062;
        double r19064 = 11.0;
        double r19065 = r19064 * r19063;
        double r19066 = r19058 * r19058;
        double r19067 = r19065 * r19066;
        double r19068 = -r19060;
        double r19069 = r19067 + r19068;
        double r19070 = -121.0;
        double r19071 = 4.0;
        double r19072 = pow(r19058, r19071);
        double r19073 = r19070 * r19072;
        double r19074 = r19069 + r19073;
        double r19075 = -2.0;
        double r19076 = r19074 + r19075;
        double r19077 = r19063 * r19076;
        double r19078 = r19061 + r19077;
        double r19079 = r19078 * r19078;
        double r19080 = 5.5;
        double r19081 = 8.0;
        double r19082 = pow(r19058, r19081);
        double r19083 = r19080 * r19082;
        double r19084 = r19083 * r19083;
        double r19085 = r19079 - r19084;
        double r19086 = log(r19085);
        double r19087 = pow(r19056, r19086);
        double r19088 = r19078 - r19083;
        double r19089 = r19087 / r19088;
        double r19090 = 2.0;
        double r19091 = r19090 * r19058;
        double r19092 = r19062 / r19091;
        double r19093 = r19089 + r19092;
        return r19093;
}

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 r19094, r19095, r19096, r19097, r19098, r19099, r19100, r19101, r19102, r19103, r19104, r19105, r19106, r19107, r19108, r19109, r19110, r19111, r19112, r19113, r19114, r19115, r19116, r19117, r19118, r19119, r19120, r19121, r19122, r19123, r19124;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r19094, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r19095, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r19096, "6", 10, MPFR_RNDN);
        mpfr_init(r19097);
        mpfr_init(r19098);
        mpfr_init_set_str(r19099, "77617", 10, MPFR_RNDN);
        mpfr_init(r19100);
        mpfr_init_set_str(r19101, "11", 10, MPFR_RNDN);
        mpfr_init(r19102);
        mpfr_init(r19103);
        mpfr_init(r19104);
        mpfr_init(r19105);
        mpfr_init(r19106);
        mpfr_init_set_str(r19107, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r19108, "4", 10, MPFR_RNDN);
        mpfr_init(r19109);
        mpfr_init(r19110);
        mpfr_init(r19111);
        mpfr_init_set_str(r19112, "-2", 10, MPFR_RNDN);
        mpfr_init(r19113);
        mpfr_init(r19114);
        mpfr_init(r19115);
        mpfr_init_set_str(r19116, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r19117, "8", 10, MPFR_RNDN);
        mpfr_init(r19118);
        mpfr_init(r19119);
        mpfr_init(r19120);
        mpfr_init_set_str(r19121, "2", 10, MPFR_RNDN);
        mpfr_init(r19122);
        mpfr_init(r19123);
        mpfr_init(r19124);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r19097, r19095, r19096, MPFR_RNDN);
        mpfr_mul(r19098, r19094, r19097, MPFR_RNDN);
        ;
        mpfr_sqr(r19100, r19099, MPFR_RNDN);
        ;
        mpfr_mul(r19102, r19101, r19100, MPFR_RNDN);
        mpfr_sqr(r19103, r19095, MPFR_RNDN);
        mpfr_mul(r19104, r19102, r19103, MPFR_RNDN);
        mpfr_neg(r19105, r19097, MPFR_RNDN);
        mpfr_add(r19106, r19104, r19105, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19109, r19095, r19108, MPFR_RNDN);
        mpfr_mul(r19110, r19107, r19109, MPFR_RNDN);
        mpfr_add(r19111, r19106, r19110, MPFR_RNDN);
        ;
        mpfr_add(r19113, r19111, r19112, MPFR_RNDN);
        mpfr_mul(r19114, r19100, r19113, MPFR_RNDN);
        mpfr_add(r19115, r19098, r19114, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19118, r19095, r19117, MPFR_RNDN);
        mpfr_mul(r19119, r19116, r19118, MPFR_RNDN);
        mpfr_add(r19120, r19115, r19119, MPFR_RNDN);
        ;
        mpfr_mul(r19122, r19121, r19095, MPFR_RNDN);
        mpfr_div(r19123, r19099, r19122, MPFR_RNDN);
        mpfr_add(r19124, r19120, r19123, MPFR_RNDN);
        return mpfr_get_d(r19124, MPFR_RNDN);
}

static mpfr_t r19125, r19126, r19127, r19128, r19129, r19130, r19131, r19132, r19133, r19134, r19135, r19136, r19137, r19138, r19139, r19140, r19141, r19142, r19143, r19144, r19145, r19146, r19147, r19148, r19149, r19150, r19151, r19152, r19153, r19154, r19155, r19156, r19157, r19158, r19159, r19160, r19161, r19162;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init(r19125);
        mpfr_init_set_str(r19126, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r19127, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r19128, "6", 10, MPFR_RNDN);
        mpfr_init(r19129);
        mpfr_init(r19130);
        mpfr_init_set_str(r19131, "77617", 10, MPFR_RNDN);
        mpfr_init(r19132);
        mpfr_init_set_str(r19133, "11", 10, MPFR_RNDN);
        mpfr_init(r19134);
        mpfr_init(r19135);
        mpfr_init(r19136);
        mpfr_init(r19137);
        mpfr_init(r19138);
        mpfr_init_set_str(r19139, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r19140, "4", 10, MPFR_RNDN);
        mpfr_init(r19141);
        mpfr_init(r19142);
        mpfr_init(r19143);
        mpfr_init_set_str(r19144, "-2", 10, MPFR_RNDN);
        mpfr_init(r19145);
        mpfr_init(r19146);
        mpfr_init(r19147);
        mpfr_init(r19148);
        mpfr_init_set_str(r19149, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r19150, "8", 10, MPFR_RNDN);
        mpfr_init(r19151);
        mpfr_init(r19152);
        mpfr_init(r19153);
        mpfr_init(r19154);
        mpfr_init(r19155);
        mpfr_init(r19156);
        mpfr_init(r19157);
        mpfr_init(r19158);
        mpfr_init_set_str(r19159, "2", 10, MPFR_RNDN);
        mpfr_init(r19160);
        mpfr_init(r19161);
        mpfr_init(r19162);
}

double f_fm() {
        mpfr_set_si(r19125, 1, MPFR_RNDN); mpfr_exp(r19125, r19125, MPFR_RNDN);;
        ;
        ;
        ;
        mpfr_pow(r19129, r19127, r19128, MPFR_RNDN);
        mpfr_mul(r19130, r19126, r19129, MPFR_RNDN);
        ;
        mpfr_sqr(r19132, r19131, MPFR_RNDN);
        ;
        mpfr_mul(r19134, r19133, r19132, MPFR_RNDN);
        mpfr_sqr(r19135, r19127, MPFR_RNDN);
        mpfr_mul(r19136, r19134, r19135, MPFR_RNDN);
        mpfr_neg(r19137, r19129, MPFR_RNDN);
        mpfr_add(r19138, r19136, r19137, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19141, r19127, r19140, MPFR_RNDN);
        mpfr_mul(r19142, r19139, r19141, MPFR_RNDN);
        mpfr_add(r19143, r19138, r19142, MPFR_RNDN);
        ;
        mpfr_add(r19145, r19143, r19144, MPFR_RNDN);
        mpfr_mul(r19146, r19132, r19145, MPFR_RNDN);
        mpfr_add(r19147, r19130, r19146, MPFR_RNDN);
        mpfr_sqr(r19148, r19147, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19151, r19127, r19150, MPFR_RNDN);
        mpfr_mul(r19152, r19149, r19151, MPFR_RNDN);
        mpfr_sqr(r19153, r19152, MPFR_RNDN);
        mpfr_sub(r19154, r19148, r19153, MPFR_RNDN);
        mpfr_log(r19155, r19154, MPFR_RNDN);
        mpfr_pow(r19156, r19125, r19155, MPFR_RNDN);
        mpfr_sub(r19157, r19147, r19152, MPFR_RNDN);
        mpfr_div(r19158, r19156, r19157, MPFR_RNDN);
        ;
        mpfr_mul(r19160, r19159, r19127, MPFR_RNDN);
        mpfr_div(r19161, r19131, r19160, MPFR_RNDN);
        mpfr_add(r19162, r19158, r19161, MPFR_RNDN);
        return mpfr_get_d(r19162, MPFR_RNDN);
}

static mpfr_t r19163, r19164, r19165, r19166, r19167, r19168, r19169, r19170, r19171, r19172, r19173, r19174, r19175, r19176, r19177, r19178, r19179, r19180, r19181, r19182, r19183, r19184, r19185, r19186, r19187, r19188, r19189, r19190, r19191, r19192, r19193, r19194, r19195, r19196, r19197, r19198, r19199, r19200;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init(r19163);
        mpfr_init_set_str(r19164, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r19165, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r19166, "6", 10, MPFR_RNDN);
        mpfr_init(r19167);
        mpfr_init(r19168);
        mpfr_init_set_str(r19169, "77617", 10, MPFR_RNDN);
        mpfr_init(r19170);
        mpfr_init_set_str(r19171, "11", 10, MPFR_RNDN);
        mpfr_init(r19172);
        mpfr_init(r19173);
        mpfr_init(r19174);
        mpfr_init(r19175);
        mpfr_init(r19176);
        mpfr_init_set_str(r19177, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r19178, "4", 10, MPFR_RNDN);
        mpfr_init(r19179);
        mpfr_init(r19180);
        mpfr_init(r19181);
        mpfr_init_set_str(r19182, "-2", 10, MPFR_RNDN);
        mpfr_init(r19183);
        mpfr_init(r19184);
        mpfr_init(r19185);
        mpfr_init(r19186);
        mpfr_init_set_str(r19187, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r19188, "8", 10, MPFR_RNDN);
        mpfr_init(r19189);
        mpfr_init(r19190);
        mpfr_init(r19191);
        mpfr_init(r19192);
        mpfr_init(r19193);
        mpfr_init(r19194);
        mpfr_init(r19195);
        mpfr_init(r19196);
        mpfr_init_set_str(r19197, "2", 10, MPFR_RNDN);
        mpfr_init(r19198);
        mpfr_init(r19199);
        mpfr_init(r19200);
}

double f_dm() {
        mpfr_set_si(r19163, 1, MPFR_RNDN); mpfr_exp(r19163, r19163, MPFR_RNDN);;
        ;
        ;
        ;
        mpfr_pow(r19167, r19165, r19166, MPFR_RNDN);
        mpfr_mul(r19168, r19164, r19167, MPFR_RNDN);
        ;
        mpfr_sqr(r19170, r19169, MPFR_RNDN);
        ;
        mpfr_mul(r19172, r19171, r19170, MPFR_RNDN);
        mpfr_sqr(r19173, r19165, MPFR_RNDN);
        mpfr_mul(r19174, r19172, r19173, MPFR_RNDN);
        mpfr_neg(r19175, r19167, MPFR_RNDN);
        mpfr_add(r19176, r19174, r19175, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19179, r19165, r19178, MPFR_RNDN);
        mpfr_mul(r19180, r19177, r19179, MPFR_RNDN);
        mpfr_add(r19181, r19176, r19180, MPFR_RNDN);
        ;
        mpfr_add(r19183, r19181, r19182, MPFR_RNDN);
        mpfr_mul(r19184, r19170, r19183, MPFR_RNDN);
        mpfr_add(r19185, r19168, r19184, MPFR_RNDN);
        mpfr_sqr(r19186, r19185, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19189, r19165, r19188, MPFR_RNDN);
        mpfr_mul(r19190, r19187, r19189, MPFR_RNDN);
        mpfr_sqr(r19191, r19190, MPFR_RNDN);
        mpfr_sub(r19192, r19186, r19191, MPFR_RNDN);
        mpfr_log(r19193, r19192, MPFR_RNDN);
        mpfr_pow(r19194, r19163, r19193, MPFR_RNDN);
        mpfr_sub(r19195, r19185, r19190, MPFR_RNDN);
        mpfr_div(r19196, r19194, r19195, MPFR_RNDN);
        ;
        mpfr_mul(r19198, r19197, r19165, MPFR_RNDN);
        mpfr_div(r19199, r19169, r19198, MPFR_RNDN);
        mpfr_add(r19200, r19196, r19199, MPFR_RNDN);
        return mpfr_get_d(r19200, MPFR_RNDN);
}

