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

char *name = "Toniolo and Linder, Equation (10+)";

double f_if(float t, float l, float k) {
        float r9102 = 2;
        float r9103 = t;
        float r9104 = 3;
        float r9105 = pow(r9103, r9104);
        float r9106 = l;
        float r9107 = r9106 * r9106;
        float r9108 = r9105 / r9107;
        float r9109 = k;
        float r9110 = sin(r9109);
        float r9111 = r9108 * r9110;
        float r9112 = tan(r9109);
        float r9113 = r9111 * r9112;
        float r9114 = 1;
        float r9115 = r9109 / r9103;
        float r9116 = pow(r9115, r9102);
        float r9117 = r9114 + r9116;
        float r9118 = r9117 + r9114;
        float r9119 = r9113 * r9118;
        float r9120 = r9102 / r9119;
        return r9120;
}

double f_id(double t, double l, double k) {
        double r9121 = 2;
        double r9122 = t;
        double r9123 = 3;
        double r9124 = pow(r9122, r9123);
        double r9125 = l;
        double r9126 = r9125 * r9125;
        double r9127 = r9124 / r9126;
        double r9128 = k;
        double r9129 = sin(r9128);
        double r9130 = r9127 * r9129;
        double r9131 = tan(r9128);
        double r9132 = r9130 * r9131;
        double r9133 = 1;
        double r9134 = r9128 / r9122;
        double r9135 = pow(r9134, r9121);
        double r9136 = r9133 + r9135;
        double r9137 = r9136 + r9133;
        double r9138 = r9132 * r9137;
        double r9139 = r9121 / r9138;
        return r9139;
}


double f_of(float t, float l, float k) {
        float r9140 = 2;
        float r9141 = k;
        float r9142 = sin(r9141);
        float r9143 = t;
        float r9144 = l;
        float r9145 = r9143 / r9144;
        float r9146 = tan(r9141);
        float r9147 = r9145 * r9146;
        float r9148 = r9145 * r9143;
        float r9149 = r9147 * r9148;
        float r9150 = 1;
        float r9151 = r9141 / r9143;
        float r9152 = pow(r9151, r9140);
        float r9153 = r9150 + r9152;
        float r9154 = r9153 + r9150;
        float r9155 = r9149 * r9154;
        float r9156 = r9142 * r9155;
        float r9157 = r9140 / r9156;
        float r9158 = -5.526145999018744e-276;
        bool r9159 = r9157 <= r9158;
        float r9160 = 7.72709538493361e-306;
        bool r9161 = r9157 <= r9160;
        float r9162 = r9146 * r9145;
        float r9163 = r9145 * r9142;
        float r9164 = r9162 * r9163;
        float r9165 = r9164 * r9154;
        float r9166 = r9143 * r9165;
        float r9167 = r9140 / r9166;
        float r9168 = 1.8279041662057353e+285;
        bool r9169 = r9157 <= r9168;
        float r9170 = r9141 * r9143;
        float r9171 = r9170 / r9144;
        float r9172 = 1/3;
        float r9173 = 3;
        float r9174 = pow(r9141, r9173);
        float r9175 = r9174 * r9143;
        float r9176 = r9175 / r9144;
        float r9177 = r9172 * r9176;
        float r9178 = r9171 + r9177;
        float r9179 = r9178 * r9163;
        float r9180 = r9143 * r9179;
        float r9181 = r9180 * r9154;
        float r9182 = r9140 / r9181;
        float r9183 = r9169 ? r9157 : r9182;
        float r9184 = r9161 ? r9167 : r9183;
        float r9185 = r9159 ? r9157 : r9184;
        return r9185;
}

double f_od(double t, double l, double k) {
        double r9186 = 2;
        double r9187 = k;
        double r9188 = sin(r9187);
        double r9189 = t;
        double r9190 = l;
        double r9191 = r9189 / r9190;
        double r9192 = tan(r9187);
        double r9193 = r9191 * r9192;
        double r9194 = r9191 * r9189;
        double r9195 = r9193 * r9194;
        double r9196 = 1;
        double r9197 = r9187 / r9189;
        double r9198 = pow(r9197, r9186);
        double r9199 = r9196 + r9198;
        double r9200 = r9199 + r9196;
        double r9201 = r9195 * r9200;
        double r9202 = r9188 * r9201;
        double r9203 = r9186 / r9202;
        double r9204 = -5.526145999018744e-276;
        bool r9205 = r9203 <= r9204;
        double r9206 = 7.72709538493361e-306;
        bool r9207 = r9203 <= r9206;
        double r9208 = r9192 * r9191;
        double r9209 = r9191 * r9188;
        double r9210 = r9208 * r9209;
        double r9211 = r9210 * r9200;
        double r9212 = r9189 * r9211;
        double r9213 = r9186 / r9212;
        double r9214 = 1.8279041662057353e+285;
        bool r9215 = r9203 <= r9214;
        double r9216 = r9187 * r9189;
        double r9217 = r9216 / r9190;
        double r9218 = 1/3;
        double r9219 = 3;
        double r9220 = pow(r9187, r9219);
        double r9221 = r9220 * r9189;
        double r9222 = r9221 / r9190;
        double r9223 = r9218 * r9222;
        double r9224 = r9217 + r9223;
        double r9225 = r9224 * r9209;
        double r9226 = r9189 * r9225;
        double r9227 = r9226 * r9200;
        double r9228 = r9186 / r9227;
        double r9229 = r9215 ? r9203 : r9228;
        double r9230 = r9207 ? r9213 : r9229;
        double r9231 = r9205 ? r9203 : r9230;
        return r9231;
}

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 r9232, r9233, r9234, r9235, r9236, r9237, r9238, r9239, r9240, r9241, r9242, r9243, r9244, r9245, r9246, r9247, r9248, r9249, r9250;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r9232, "2", 10, MPFR_RNDN);
        mpfr_init(r9233);
        mpfr_init_set_str(r9234, "3", 10, MPFR_RNDN);
        mpfr_init(r9235);
        mpfr_init(r9236);
        mpfr_init(r9237);
        mpfr_init(r9238);
        mpfr_init(r9239);
        mpfr_init(r9240);
        mpfr_init(r9241);
        mpfr_init(r9242);
        mpfr_init(r9243);
        mpfr_init_set_str(r9244, "1", 10, MPFR_RNDN);
        mpfr_init(r9245);
        mpfr_init(r9246);
        mpfr_init(r9247);
        mpfr_init(r9248);
        mpfr_init(r9249);
        mpfr_init(r9250);
}

double f_im(double t, double l, double k) {
        ;
        mpfr_set_d(r9233, t, MPFR_RNDN);
        ;
        mpfr_pow(r9235, r9233, r9234, MPFR_RNDN);
        mpfr_set_d(r9236, l, MPFR_RNDN);
        mpfr_mul(r9237, r9236, r9236, MPFR_RNDN);
        mpfr_div(r9238, r9235, r9237, MPFR_RNDN);
        mpfr_set_d(r9239, k, MPFR_RNDN);
        mpfr_sin(r9240, r9239, MPFR_RNDN);
        mpfr_mul(r9241, r9238, r9240, MPFR_RNDN);
        mpfr_tan(r9242, r9239, MPFR_RNDN);
        mpfr_mul(r9243, r9241, r9242, MPFR_RNDN);
        ;
        mpfr_div(r9245, r9239, r9233, MPFR_RNDN);
        mpfr_pow(r9246, r9245, r9232, MPFR_RNDN);
        mpfr_add(r9247, r9244, r9246, MPFR_RNDN);
        mpfr_add(r9248, r9247, r9244, MPFR_RNDN);
        mpfr_mul(r9249, r9243, r9248, MPFR_RNDN);
        mpfr_div(r9250, r9232, r9249, MPFR_RNDN);
        return mpfr_get_d(r9250, MPFR_RNDN);
}

static mpfr_t r9251, r9252, r9253, r9254, r9255, r9256, r9257, r9258, r9259, r9260, r9261, r9262, r9263, r9264, r9265, r9266, r9267, r9268, r9269, r9270, r9271, r9272, r9273, r9274, r9275, r9276, r9277, r9278, r9279, r9280, r9281, r9282, r9283, r9284, r9285, r9286, r9287, r9288, r9289, r9290, r9291, r9292, r9293, r9294, r9295, r9296;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r9251, "2", 10, MPFR_RNDN);
        mpfr_init(r9252);
        mpfr_init(r9253);
        mpfr_init(r9254);
        mpfr_init(r9255);
        mpfr_init(r9256);
        mpfr_init(r9257);
        mpfr_init(r9258);
        mpfr_init(r9259);
        mpfr_init(r9260);
        mpfr_init_set_str(r9261, "1", 10, MPFR_RNDN);
        mpfr_init(r9262);
        mpfr_init(r9263);
        mpfr_init(r9264);
        mpfr_init(r9265);
        mpfr_init(r9266);
        mpfr_init(r9267);
        mpfr_init(r9268);
        mpfr_init_set_str(r9269, "-5.526145999018744e-276", 10, MPFR_RNDN);
        mpfr_init(r9270);
        mpfr_init_set_str(r9271, "7.72709538493361e-306", 10, MPFR_RNDN);
        mpfr_init(r9272);
        mpfr_init(r9273);
        mpfr_init(r9274);
        mpfr_init(r9275);
        mpfr_init(r9276);
        mpfr_init(r9277);
        mpfr_init(r9278);
        mpfr_init_set_str(r9279, "1.8279041662057353e+285", 10, MPFR_RNDN);
        mpfr_init(r9280);
        mpfr_init(r9281);
        mpfr_init(r9282);
        mpfr_init_set_str(r9283, "1/3", 10, MPFR_RNDN);
        mpfr_init_set_str(r9284, "3", 10, MPFR_RNDN);
        mpfr_init(r9285);
        mpfr_init(r9286);
        mpfr_init(r9287);
        mpfr_init(r9288);
        mpfr_init(r9289);
        mpfr_init(r9290);
        mpfr_init(r9291);
        mpfr_init(r9292);
        mpfr_init(r9293);
        mpfr_init(r9294);
        mpfr_init(r9295);
        mpfr_init(r9296);
}

double f_fm(double t, double l, double k) {
        ;
        mpfr_set_d(r9252, k, MPFR_RNDN);
        mpfr_sin(r9253, r9252, MPFR_RNDN);
        mpfr_set_d(r9254, t, MPFR_RNDN);
        mpfr_set_d(r9255, l, MPFR_RNDN);
        mpfr_div(r9256, r9254, r9255, MPFR_RNDN);
        mpfr_tan(r9257, r9252, MPFR_RNDN);
        mpfr_mul(r9258, r9256, r9257, MPFR_RNDN);
        mpfr_mul(r9259, r9256, r9254, MPFR_RNDN);
        mpfr_mul(r9260, r9258, r9259, MPFR_RNDN);
        ;
        mpfr_div(r9262, r9252, r9254, MPFR_RNDN);
        mpfr_pow(r9263, r9262, r9251, MPFR_RNDN);
        mpfr_add(r9264, r9261, r9263, MPFR_RNDN);
        mpfr_add(r9265, r9264, r9261, MPFR_RNDN);
        mpfr_mul(r9266, r9260, r9265, MPFR_RNDN);
        mpfr_mul(r9267, r9253, r9266, MPFR_RNDN);
        mpfr_div(r9268, r9251, r9267, MPFR_RNDN);
        ;
        mpfr_set_si(r9270, mpfr_cmp(r9268, r9269) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9272, mpfr_cmp(r9268, r9271) <= 0, MPFR_RNDN);
        mpfr_mul(r9273, r9257, r9256, MPFR_RNDN);
        mpfr_mul(r9274, r9256, r9253, MPFR_RNDN);
        mpfr_mul(r9275, r9273, r9274, MPFR_RNDN);
        mpfr_mul(r9276, r9275, r9265, MPFR_RNDN);
        mpfr_mul(r9277, r9254, r9276, MPFR_RNDN);
        mpfr_div(r9278, r9251, r9277, MPFR_RNDN);
        ;
        mpfr_set_si(r9280, mpfr_cmp(r9268, r9279) <= 0, MPFR_RNDN);
        mpfr_mul(r9281, r9252, r9254, MPFR_RNDN);
        mpfr_div(r9282, r9281, r9255, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r9285, r9252, r9284, MPFR_RNDN);
        mpfr_mul(r9286, r9285, r9254, MPFR_RNDN);
        mpfr_div(r9287, r9286, r9255, MPFR_RNDN);
        mpfr_mul(r9288, r9283, r9287, MPFR_RNDN);
        mpfr_add(r9289, r9282, r9288, MPFR_RNDN);
        mpfr_mul(r9290, r9289, r9274, MPFR_RNDN);
        mpfr_mul(r9291, r9254, r9290, MPFR_RNDN);
        mpfr_mul(r9292, r9291, r9265, MPFR_RNDN);
        mpfr_div(r9293, r9251, r9292, MPFR_RNDN);
        if (mpfr_get_si(r9280, MPFR_RNDN)) { mpfr_set(r9294, r9268, MPFR_RNDN); } else { mpfr_set(r9294, r9293, MPFR_RNDN); };
        if (mpfr_get_si(r9272, MPFR_RNDN)) { mpfr_set(r9295, r9278, MPFR_RNDN); } else { mpfr_set(r9295, r9294, MPFR_RNDN); };
        if (mpfr_get_si(r9270, MPFR_RNDN)) { mpfr_set(r9296, r9268, MPFR_RNDN); } else { mpfr_set(r9296, r9295, MPFR_RNDN); };
        return mpfr_get_d(r9296, MPFR_RNDN);
}

static mpfr_t r9297, r9298, r9299, r9300, r9301, r9302, r9303, r9304, r9305, r9306, r9307, r9308, r9309, r9310, r9311, r9312, r9313, r9314, r9315, r9316, r9317, r9318, r9319, r9320, r9321, r9322, r9323, r9324, r9325, r9326, r9327, r9328, r9329, r9330, r9331, r9332, r9333, r9334, r9335, r9336, r9337, r9338, r9339, r9340, r9341, r9342;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r9297, "2", 10, MPFR_RNDN);
        mpfr_init(r9298);
        mpfr_init(r9299);
        mpfr_init(r9300);
        mpfr_init(r9301);
        mpfr_init(r9302);
        mpfr_init(r9303);
        mpfr_init(r9304);
        mpfr_init(r9305);
        mpfr_init(r9306);
        mpfr_init_set_str(r9307, "1", 10, MPFR_RNDN);
        mpfr_init(r9308);
        mpfr_init(r9309);
        mpfr_init(r9310);
        mpfr_init(r9311);
        mpfr_init(r9312);
        mpfr_init(r9313);
        mpfr_init(r9314);
        mpfr_init_set_str(r9315, "-5.526145999018744e-276", 10, MPFR_RNDN);
        mpfr_init(r9316);
        mpfr_init_set_str(r9317, "7.72709538493361e-306", 10, MPFR_RNDN);
        mpfr_init(r9318);
        mpfr_init(r9319);
        mpfr_init(r9320);
        mpfr_init(r9321);
        mpfr_init(r9322);
        mpfr_init(r9323);
        mpfr_init(r9324);
        mpfr_init_set_str(r9325, "1.8279041662057353e+285", 10, MPFR_RNDN);
        mpfr_init(r9326);
        mpfr_init(r9327);
        mpfr_init(r9328);
        mpfr_init_set_str(r9329, "1/3", 10, MPFR_RNDN);
        mpfr_init_set_str(r9330, "3", 10, MPFR_RNDN);
        mpfr_init(r9331);
        mpfr_init(r9332);
        mpfr_init(r9333);
        mpfr_init(r9334);
        mpfr_init(r9335);
        mpfr_init(r9336);
        mpfr_init(r9337);
        mpfr_init(r9338);
        mpfr_init(r9339);
        mpfr_init(r9340);
        mpfr_init(r9341);
        mpfr_init(r9342);
}

double f_dm(double t, double l, double k) {
        ;
        mpfr_set_d(r9298, k, MPFR_RNDN);
        mpfr_sin(r9299, r9298, MPFR_RNDN);
        mpfr_set_d(r9300, t, MPFR_RNDN);
        mpfr_set_d(r9301, l, MPFR_RNDN);
        mpfr_div(r9302, r9300, r9301, MPFR_RNDN);
        mpfr_tan(r9303, r9298, MPFR_RNDN);
        mpfr_mul(r9304, r9302, r9303, MPFR_RNDN);
        mpfr_mul(r9305, r9302, r9300, MPFR_RNDN);
        mpfr_mul(r9306, r9304, r9305, MPFR_RNDN);
        ;
        mpfr_div(r9308, r9298, r9300, MPFR_RNDN);
        mpfr_pow(r9309, r9308, r9297, MPFR_RNDN);
        mpfr_add(r9310, r9307, r9309, MPFR_RNDN);
        mpfr_add(r9311, r9310, r9307, MPFR_RNDN);
        mpfr_mul(r9312, r9306, r9311, MPFR_RNDN);
        mpfr_mul(r9313, r9299, r9312, MPFR_RNDN);
        mpfr_div(r9314, r9297, r9313, MPFR_RNDN);
        ;
        mpfr_set_si(r9316, mpfr_cmp(r9314, r9315) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9318, mpfr_cmp(r9314, r9317) <= 0, MPFR_RNDN);
        mpfr_mul(r9319, r9303, r9302, MPFR_RNDN);
        mpfr_mul(r9320, r9302, r9299, MPFR_RNDN);
        mpfr_mul(r9321, r9319, r9320, MPFR_RNDN);
        mpfr_mul(r9322, r9321, r9311, MPFR_RNDN);
        mpfr_mul(r9323, r9300, r9322, MPFR_RNDN);
        mpfr_div(r9324, r9297, r9323, MPFR_RNDN);
        ;
        mpfr_set_si(r9326, mpfr_cmp(r9314, r9325) <= 0, MPFR_RNDN);
        mpfr_mul(r9327, r9298, r9300, MPFR_RNDN);
        mpfr_div(r9328, r9327, r9301, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r9331, r9298, r9330, MPFR_RNDN);
        mpfr_mul(r9332, r9331, r9300, MPFR_RNDN);
        mpfr_div(r9333, r9332, r9301, MPFR_RNDN);
        mpfr_mul(r9334, r9329, r9333, MPFR_RNDN);
        mpfr_add(r9335, r9328, r9334, MPFR_RNDN);
        mpfr_mul(r9336, r9335, r9320, MPFR_RNDN);
        mpfr_mul(r9337, r9300, r9336, MPFR_RNDN);
        mpfr_mul(r9338, r9337, r9311, MPFR_RNDN);
        mpfr_div(r9339, r9297, r9338, MPFR_RNDN);
        if (mpfr_get_si(r9326, MPFR_RNDN)) { mpfr_set(r9340, r9314, MPFR_RNDN); } else { mpfr_set(r9340, r9339, MPFR_RNDN); };
        if (mpfr_get_si(r9318, MPFR_RNDN)) { mpfr_set(r9341, r9324, MPFR_RNDN); } else { mpfr_set(r9341, r9340, MPFR_RNDN); };
        if (mpfr_get_si(r9316, MPFR_RNDN)) { mpfr_set(r9342, r9314, MPFR_RNDN); } else { mpfr_set(r9342, r9341, MPFR_RNDN); };
        return mpfr_get_d(r9342, MPFR_RNDN);
}

