#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 r21050 = 333.75;
        float r21051 = 33096;
        float r21052 = 6;
        float r21053 = pow(r21051, r21052);
        float r21054 = r21050 * r21053;
        float r21055 = 77617;
        float r21056 = r21055 * r21055;
        float r21057 = 11;
        float r21058 = r21057 * r21056;
        float r21059 = r21051 * r21051;
        float r21060 = r21058 * r21059;
        float r21061 = -r21053;
        float r21062 = r21060 + r21061;
        float r21063 = -121;
        float r21064 = 4;
        float r21065 = pow(r21051, r21064);
        float r21066 = r21063 * r21065;
        float r21067 = r21062 + r21066;
        float r21068 = -2;
        float r21069 = r21067 + r21068;
        float r21070 = r21056 * r21069;
        float r21071 = r21054 + r21070;
        float r21072 = 5.5;
        float r21073 = 8;
        float r21074 = pow(r21051, r21073);
        float r21075 = r21072 * r21074;
        float r21076 = r21071 + r21075;
        float r21077 = 2;
        float r21078 = r21077 * r21051;
        float r21079 = r21055 / r21078;
        float r21080 = r21076 + r21079;
        return r21080;
}

double f_id() {
        double r21081 = 333.75;
        double r21082 = 33096;
        double r21083 = 6;
        double r21084 = pow(r21082, r21083);
        double r21085 = r21081 * r21084;
        double r21086 = 77617;
        double r21087 = r21086 * r21086;
        double r21088 = 11;
        double r21089 = r21088 * r21087;
        double r21090 = r21082 * r21082;
        double r21091 = r21089 * r21090;
        double r21092 = -r21084;
        double r21093 = r21091 + r21092;
        double r21094 = -121;
        double r21095 = 4;
        double r21096 = pow(r21082, r21095);
        double r21097 = r21094 * r21096;
        double r21098 = r21093 + r21097;
        double r21099 = -2;
        double r21100 = r21098 + r21099;
        double r21101 = r21087 * r21100;
        double r21102 = r21085 + r21101;
        double r21103 = 5.5;
        double r21104 = 8;
        double r21105 = pow(r21082, r21104);
        double r21106 = r21103 * r21105;
        double r21107 = r21102 + r21106;
        double r21108 = 2;
        double r21109 = r21108 * r21082;
        double r21110 = r21086 / r21109;
        double r21111 = r21107 + r21110;
        return r21111;
}


double f_of() {
        float r21112 = 333.75;
        float r21113 = 33096;
        float r21114 = 6;
        float r21115 = pow(r21113, r21114);
        float r21116 = r21112 * r21115;
        float r21117 = log1p(r21116);
        float r21118 = expm1(r21117);
        float r21119 = 3;
        float r21120 = pow(r21118, r21119);
        float r21121 = 77617;
        float r21122 = r21121 * r21121;
        float r21123 = -121;
        float r21124 = 4;
        float r21125 = pow(r21113, r21124);
        float r21126 = -r21115;
        float r21127 = fma(r21123, r21125, r21126);
        float r21128 = 11;
        float r21129 = r21121 * r21113;
        float r21130 = r21129 * r21129;
        float r21131 = -2;
        float r21132 = fma(r21128, r21130, r21131);
        float r21133 = r21127 + r21132;
        float r21134 = 8;
        float r21135 = pow(r21113, r21134);
        float r21136 = 5.5;
        float r21137 = r21135 * r21136;
        float r21138 = fma(r21122, r21133, r21137);
        float r21139 = pow(r21138, r21119);
        float r21140 = r21120 + r21139;
        float r21141 = r21113 * r21121;
        float r21142 = r21141 * r21141;
        float r21143 = fma(r21128, r21142, r21131);
        float r21144 = r21143 + r21127;
        float r21145 = r21136 * r21135;
        float r21146 = fma(r21122, r21144, r21145);
        float r21147 = r21115 * r21112;
        float r21148 = r21146 - r21147;
        float r21149 = r21122 * r21144;
        float r21150 = r21149 + r21145;
        float r21151 = r21147 * r21147;
        float r21152 = fma(r21148, r21150, r21151);
        float r21153 = r21140 / r21152;
        float r21154 = 2;
        float r21155 = r21154 * r21113;
        float r21156 = r21121 / r21155;
        float r21157 = r21153 + r21156;
        return r21157;
}

double f_od() {
        double r21158 = 333.75;
        double r21159 = 33096;
        double r21160 = 6;
        double r21161 = pow(r21159, r21160);
        double r21162 = r21158 * r21161;
        double r21163 = log1p(r21162);
        double r21164 = expm1(r21163);
        double r21165 = 3;
        double r21166 = pow(r21164, r21165);
        double r21167 = 77617;
        double r21168 = r21167 * r21167;
        double r21169 = -121;
        double r21170 = 4;
        double r21171 = pow(r21159, r21170);
        double r21172 = -r21161;
        double r21173 = fma(r21169, r21171, r21172);
        double r21174 = 11;
        double r21175 = r21167 * r21159;
        double r21176 = r21175 * r21175;
        double r21177 = -2;
        double r21178 = fma(r21174, r21176, r21177);
        double r21179 = r21173 + r21178;
        double r21180 = 8;
        double r21181 = pow(r21159, r21180);
        double r21182 = 5.5;
        double r21183 = r21181 * r21182;
        double r21184 = fma(r21168, r21179, r21183);
        double r21185 = pow(r21184, r21165);
        double r21186 = r21166 + r21185;
        double r21187 = r21159 * r21167;
        double r21188 = r21187 * r21187;
        double r21189 = fma(r21174, r21188, r21177);
        double r21190 = r21189 + r21173;
        double r21191 = r21182 * r21181;
        double r21192 = fma(r21168, r21190, r21191);
        double r21193 = r21161 * r21158;
        double r21194 = r21192 - r21193;
        double r21195 = r21168 * r21190;
        double r21196 = r21195 + r21191;
        double r21197 = r21193 * r21193;
        double r21198 = fma(r21194, r21196, r21197);
        double r21199 = r21186 / r21198;
        double r21200 = 2;
        double r21201 = r21200 * r21159;
        double r21202 = r21167 / r21201;
        double r21203 = r21199 + r21202;
        return r21203;
}

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 r21204, r21205, r21206, r21207, r21208, r21209, r21210, r21211, r21212, r21213, r21214, r21215, r21216, r21217, r21218, r21219, r21220, r21221, r21222, r21223, r21224, r21225, r21226, r21227, r21228, r21229, r21230, r21231, r21232, r21233, r21234;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r21204, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r21205, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r21206, "6", 10, MPFR_RNDN);
        mpfr_init(r21207);
        mpfr_init(r21208);
        mpfr_init_set_str(r21209, "77617", 10, MPFR_RNDN);
        mpfr_init(r21210);
        mpfr_init_set_str(r21211, "11", 10, MPFR_RNDN);
        mpfr_init(r21212);
        mpfr_init(r21213);
        mpfr_init(r21214);
        mpfr_init(r21215);
        mpfr_init(r21216);
        mpfr_init_set_str(r21217, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r21218, "4", 10, MPFR_RNDN);
        mpfr_init(r21219);
        mpfr_init(r21220);
        mpfr_init(r21221);
        mpfr_init_set_str(r21222, "-2", 10, MPFR_RNDN);
        mpfr_init(r21223);
        mpfr_init(r21224);
        mpfr_init(r21225);
        mpfr_init_set_str(r21226, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r21227, "8", 10, MPFR_RNDN);
        mpfr_init(r21228);
        mpfr_init(r21229);
        mpfr_init(r21230);
        mpfr_init_set_str(r21231, "2", 10, MPFR_RNDN);
        mpfr_init(r21232);
        mpfr_init(r21233);
        mpfr_init(r21234);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r21207, r21205, r21206, MPFR_RNDN);
        mpfr_mul(r21208, r21204, r21207, MPFR_RNDN);
        ;
        mpfr_mul(r21210, r21209, r21209, MPFR_RNDN);
        ;
        mpfr_mul(r21212, r21211, r21210, MPFR_RNDN);
        mpfr_mul(r21213, r21205, r21205, MPFR_RNDN);
        mpfr_mul(r21214, r21212, r21213, MPFR_RNDN);
        mpfr_neg(r21215, r21207, MPFR_RNDN);
        mpfr_add(r21216, r21214, r21215, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r21219, r21205, r21218, MPFR_RNDN);
        mpfr_mul(r21220, r21217, r21219, MPFR_RNDN);
        mpfr_add(r21221, r21216, r21220, MPFR_RNDN);
        ;
        mpfr_add(r21223, r21221, r21222, MPFR_RNDN);
        mpfr_mul(r21224, r21210, r21223, MPFR_RNDN);
        mpfr_add(r21225, r21208, r21224, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r21228, r21205, r21227, MPFR_RNDN);
        mpfr_mul(r21229, r21226, r21228, MPFR_RNDN);
        mpfr_add(r21230, r21225, r21229, MPFR_RNDN);
        ;
        mpfr_mul(r21232, r21231, r21205, MPFR_RNDN);
        mpfr_div(r21233, r21209, r21232, MPFR_RNDN);
        mpfr_add(r21234, r21230, r21233, MPFR_RNDN);
        return mpfr_get_d(r21234, MPFR_RNDN);
}

static mpfr_t r21235, r21236, r21237, r21238, r21239, r21240, r21241, r21242, r21243, r21244, r21245, r21246, r21247, r21248, r21249, r21250, r21251, r21252, r21253, r21254, r21255, r21256, r21257, r21258, r21259, r21260, r21261, r21262, r21263, r21264, r21265, r21266, r21267, r21268, r21269, r21270, r21271, r21272, r21273, r21274, r21275, r21276, r21277, r21278, r21279, r21280;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r21235, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r21236, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r21237, "6", 10, MPFR_RNDN);
        mpfr_init(r21238);
        mpfr_init(r21239);
        mpfr_init(r21240);
        mpfr_init(r21241);
        mpfr_init_set_str(r21242, "3", 10, MPFR_RNDN);
        mpfr_init(r21243);
        mpfr_init_set_str(r21244, "77617", 10, MPFR_RNDN);
        mpfr_init(r21245);
        mpfr_init_set_str(r21246, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r21247, "4", 10, MPFR_RNDN);
        mpfr_init(r21248);
        mpfr_init(r21249);
        mpfr_init(r21250);
        mpfr_init_set_str(r21251, "11", 10, MPFR_RNDN);
        mpfr_init(r21252);
        mpfr_init(r21253);
        mpfr_init_set_str(r21254, "-2", 10, MPFR_RNDN);
        mpfr_init(r21255);
        mpfr_init(r21256);
        mpfr_init_set_str(r21257, "8", 10, MPFR_RNDN);
        mpfr_init(r21258);
        mpfr_init_set_str(r21259, "5.5", 10, MPFR_RNDN);
        mpfr_init(r21260);
        mpfr_init(r21261);
        mpfr_init(r21262);
        mpfr_init(r21263);
        mpfr_init(r21264);
        mpfr_init(r21265);
        mpfr_init(r21266);
        mpfr_init(r21267);
        mpfr_init(r21268);
        mpfr_init(r21269);
        mpfr_init(r21270);
        mpfr_init(r21271);
        mpfr_init(r21272);
        mpfr_init(r21273);
        mpfr_init(r21274);
        mpfr_init(r21275);
        mpfr_init(r21276);
        mpfr_init_set_str(r21277, "2", 10, MPFR_RNDN);
        mpfr_init(r21278);
        mpfr_init(r21279);
        mpfr_init(r21280);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r21238, r21236, r21237, MPFR_RNDN);
        mpfr_mul(r21239, r21235, r21238, MPFR_RNDN);
        mpfr_log1p(r21240, r21239, MPFR_RNDN);
        mpfr_expm1(r21241, r21240, MPFR_RNDN);
        ;
        mpfr_pow(r21243, r21241, r21242, MPFR_RNDN);
        ;
        mpfr_mul(r21245, r21244, r21244, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r21248, r21236, r21247, MPFR_RNDN);
        mpfr_neg(r21249, r21238, MPFR_RNDN);
        mpfr_fma(r21250, r21246, r21248, r21249, MPFR_RNDN);
        ;
        mpfr_mul(r21252, r21244, r21236, MPFR_RNDN);
        mpfr_mul(r21253, r21252, r21252, MPFR_RNDN);
        ;
        mpfr_fma(r21255, r21251, r21253, r21254, MPFR_RNDN);
        mpfr_add(r21256, r21250, r21255, MPFR_RNDN);
        ;
        mpfr_pow(r21258, r21236, r21257, MPFR_RNDN);
        ;
        mpfr_mul(r21260, r21258, r21259, MPFR_RNDN);
        mpfr_fma(r21261, r21245, r21256, r21260, MPFR_RNDN);
        mpfr_pow(r21262, r21261, r21242, MPFR_RNDN);
        mpfr_add(r21263, r21243, r21262, MPFR_RNDN);
        mpfr_mul(r21264, r21236, r21244, MPFR_RNDN);
        mpfr_mul(r21265, r21264, r21264, MPFR_RNDN);
        mpfr_fma(r21266, r21251, r21265, r21254, MPFR_RNDN);
        mpfr_add(r21267, r21266, r21250, MPFR_RNDN);
        mpfr_mul(r21268, r21259, r21258, MPFR_RNDN);
        mpfr_fma(r21269, r21245, r21267, r21268, MPFR_RNDN);
        mpfr_mul(r21270, r21238, r21235, MPFR_RNDN);
        mpfr_sub(r21271, r21269, r21270, MPFR_RNDN);
        mpfr_mul(r21272, r21245, r21267, MPFR_RNDN);
        mpfr_add(r21273, r21272, r21268, MPFR_RNDN);
        mpfr_mul(r21274, r21270, r21270, MPFR_RNDN);
        mpfr_fma(r21275, r21271, r21273, r21274, MPFR_RNDN);
        mpfr_div(r21276, r21263, r21275, MPFR_RNDN);
        ;
        mpfr_mul(r21278, r21277, r21236, MPFR_RNDN);
        mpfr_div(r21279, r21244, r21278, MPFR_RNDN);
        mpfr_add(r21280, r21276, r21279, MPFR_RNDN);
        return mpfr_get_d(r21280, MPFR_RNDN);
}

static mpfr_t r21281, r21282, r21283, r21284, r21285, r21286, r21287, r21288, r21289, r21290, r21291, r21292, r21293, r21294, r21295, r21296, r21297, r21298, r21299, r21300, r21301, r21302, r21303, r21304, r21305, r21306, r21307, r21308, r21309, r21310, r21311, r21312, r21313, r21314, r21315, r21316, r21317, r21318, r21319, r21320, r21321, r21322, r21323, r21324, r21325, r21326;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r21281, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r21282, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r21283, "6", 10, MPFR_RNDN);
        mpfr_init(r21284);
        mpfr_init(r21285);
        mpfr_init(r21286);
        mpfr_init(r21287);
        mpfr_init_set_str(r21288, "3", 10, MPFR_RNDN);
        mpfr_init(r21289);
        mpfr_init_set_str(r21290, "77617", 10, MPFR_RNDN);
        mpfr_init(r21291);
        mpfr_init_set_str(r21292, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r21293, "4", 10, MPFR_RNDN);
        mpfr_init(r21294);
        mpfr_init(r21295);
        mpfr_init(r21296);
        mpfr_init_set_str(r21297, "11", 10, MPFR_RNDN);
        mpfr_init(r21298);
        mpfr_init(r21299);
        mpfr_init_set_str(r21300, "-2", 10, MPFR_RNDN);
        mpfr_init(r21301);
        mpfr_init(r21302);
        mpfr_init_set_str(r21303, "8", 10, MPFR_RNDN);
        mpfr_init(r21304);
        mpfr_init_set_str(r21305, "5.5", 10, MPFR_RNDN);
        mpfr_init(r21306);
        mpfr_init(r21307);
        mpfr_init(r21308);
        mpfr_init(r21309);
        mpfr_init(r21310);
        mpfr_init(r21311);
        mpfr_init(r21312);
        mpfr_init(r21313);
        mpfr_init(r21314);
        mpfr_init(r21315);
        mpfr_init(r21316);
        mpfr_init(r21317);
        mpfr_init(r21318);
        mpfr_init(r21319);
        mpfr_init(r21320);
        mpfr_init(r21321);
        mpfr_init(r21322);
        mpfr_init_set_str(r21323, "2", 10, MPFR_RNDN);
        mpfr_init(r21324);
        mpfr_init(r21325);
        mpfr_init(r21326);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_pow(r21284, r21282, r21283, MPFR_RNDN);
        mpfr_mul(r21285, r21281, r21284, MPFR_RNDN);
        mpfr_log1p(r21286, r21285, MPFR_RNDN);
        mpfr_expm1(r21287, r21286, MPFR_RNDN);
        ;
        mpfr_pow(r21289, r21287, r21288, MPFR_RNDN);
        ;
        mpfr_mul(r21291, r21290, r21290, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r21294, r21282, r21293, MPFR_RNDN);
        mpfr_neg(r21295, r21284, MPFR_RNDN);
        mpfr_fma(r21296, r21292, r21294, r21295, MPFR_RNDN);
        ;
        mpfr_mul(r21298, r21290, r21282, MPFR_RNDN);
        mpfr_mul(r21299, r21298, r21298, MPFR_RNDN);
        ;
        mpfr_fma(r21301, r21297, r21299, r21300, MPFR_RNDN);
        mpfr_add(r21302, r21296, r21301, MPFR_RNDN);
        ;
        mpfr_pow(r21304, r21282, r21303, MPFR_RNDN);
        ;
        mpfr_mul(r21306, r21304, r21305, MPFR_RNDN);
        mpfr_fma(r21307, r21291, r21302, r21306, MPFR_RNDN);
        mpfr_pow(r21308, r21307, r21288, MPFR_RNDN);
        mpfr_add(r21309, r21289, r21308, MPFR_RNDN);
        mpfr_mul(r21310, r21282, r21290, MPFR_RNDN);
        mpfr_mul(r21311, r21310, r21310, MPFR_RNDN);
        mpfr_fma(r21312, r21297, r21311, r21300, MPFR_RNDN);
        mpfr_add(r21313, r21312, r21296, MPFR_RNDN);
        mpfr_mul(r21314, r21305, r21304, MPFR_RNDN);
        mpfr_fma(r21315, r21291, r21313, r21314, MPFR_RNDN);
        mpfr_mul(r21316, r21284, r21281, MPFR_RNDN);
        mpfr_sub(r21317, r21315, r21316, MPFR_RNDN);
        mpfr_mul(r21318, r21291, r21313, MPFR_RNDN);
        mpfr_add(r21319, r21318, r21314, MPFR_RNDN);
        mpfr_mul(r21320, r21316, r21316, MPFR_RNDN);
        mpfr_fma(r21321, r21317, r21319, r21320, MPFR_RNDN);
        mpfr_div(r21322, r21309, r21321, MPFR_RNDN);
        ;
        mpfr_mul(r21324, r21323, r21282, MPFR_RNDN);
        mpfr_div(r21325, r21290, r21324, MPFR_RNDN);
        mpfr_add(r21326, r21322, r21325, MPFR_RNDN);
        return mpfr_get_d(r21326, MPFR_RNDN);
}

