#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 r9361 = 2;
        float r9362 = t;
        float r9363 = 3;
        float r9364 = pow(r9362, r9363);
        float r9365 = l;
        float r9366 = r9365 * r9365;
        float r9367 = r9364 / r9366;
        float r9368 = k;
        float r9369 = sin(r9368);
        float r9370 = r9367 * r9369;
        float r9371 = tan(r9368);
        float r9372 = r9370 * r9371;
        float r9373 = 1;
        float r9374 = r9368 / r9362;
        float r9375 = pow(r9374, r9361);
        float r9376 = r9373 + r9375;
        float r9377 = r9376 + r9373;
        float r9378 = r9372 * r9377;
        float r9379 = r9361 / r9378;
        return r9379;
}

double f_id(double t, double l, double k) {
        double r9380 = 2;
        double r9381 = t;
        double r9382 = 3;
        double r9383 = pow(r9381, r9382);
        double r9384 = l;
        double r9385 = r9384 * r9384;
        double r9386 = r9383 / r9385;
        double r9387 = k;
        double r9388 = sin(r9387);
        double r9389 = r9386 * r9388;
        double r9390 = tan(r9387);
        double r9391 = r9389 * r9390;
        double r9392 = 1;
        double r9393 = r9387 / r9381;
        double r9394 = pow(r9393, r9380);
        double r9395 = r9392 + r9394;
        double r9396 = r9395 + r9392;
        double r9397 = r9391 * r9396;
        double r9398 = r9380 / r9397;
        return r9398;
}


double f_of(float t, float l, float k) {
        float r9399 = t;
        float r9400 = l;
        float r9401 = r9399 / r9400;
        float r9402 = r9399 * r9401;
        float r9403 = k;
        float r9404 = sin(r9403);
        float r9405 = r9401 * r9404;
        float r9406 = r9402 * r9405;
        float r9407 = tan(r9403);
        float r9408 = r9406 * r9407;
        float r9409 = 1;
        float r9410 = r9403 / r9399;
        float r9411 = 2;
        float r9412 = pow(r9410, r9411);
        float r9413 = r9409 + r9412;
        float r9414 = r9413 + r9409;
        float r9415 = r9408 * r9414;
        float r9416 = cbrt(r9415);
        float r9417 = r9416 * r9416;
        float r9418 = r9417 * r9416;
        float r9419 = -1.4027502456406145e+170;
        bool r9420 = r9418 <= r9419;
        float r9421 = r9401 * r9405;
        float r9422 = r9421 * r9407;
        float r9423 = r9399 * r9422;
        float r9424 = r9423 * r9414;
        float r9425 = r9411 / r9424;
        float r9426 = 8.984613750326747e-266;
        bool r9427 = r9418 <= r9426;
        float r9428 = r9411 / r9418;
        float r9429 = r9427 ? r9428 : r9425;
        float r9430 = r9420 ? r9425 : r9429;
        return r9430;
}

double f_od(double t, double l, double k) {
        double r9431 = t;
        double r9432 = l;
        double r9433 = r9431 / r9432;
        double r9434 = r9431 * r9433;
        double r9435 = k;
        double r9436 = sin(r9435);
        double r9437 = r9433 * r9436;
        double r9438 = r9434 * r9437;
        double r9439 = tan(r9435);
        double r9440 = r9438 * r9439;
        double r9441 = 1;
        double r9442 = r9435 / r9431;
        double r9443 = 2;
        double r9444 = pow(r9442, r9443);
        double r9445 = r9441 + r9444;
        double r9446 = r9445 + r9441;
        double r9447 = r9440 * r9446;
        double r9448 = cbrt(r9447);
        double r9449 = r9448 * r9448;
        double r9450 = r9449 * r9448;
        double r9451 = -1.4027502456406145e+170;
        bool r9452 = r9450 <= r9451;
        double r9453 = r9433 * r9437;
        double r9454 = r9453 * r9439;
        double r9455 = r9431 * r9454;
        double r9456 = r9455 * r9446;
        double r9457 = r9443 / r9456;
        double r9458 = 8.984613750326747e-266;
        bool r9459 = r9450 <= r9458;
        double r9460 = r9443 / r9450;
        double r9461 = r9459 ? r9460 : r9457;
        double r9462 = r9452 ? r9457 : r9461;
        return r9462;
}

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 r9463, r9464, r9465, r9466, r9467, r9468, r9469, r9470, r9471, r9472, r9473, r9474, r9475, r9476, r9477, r9478, r9479, r9480, r9481;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r9463, "2", 10, MPFR_RNDN);
        mpfr_init(r9464);
        mpfr_init_set_str(r9465, "3", 10, MPFR_RNDN);
        mpfr_init(r9466);
        mpfr_init(r9467);
        mpfr_init(r9468);
        mpfr_init(r9469);
        mpfr_init(r9470);
        mpfr_init(r9471);
        mpfr_init(r9472);
        mpfr_init(r9473);
        mpfr_init(r9474);
        mpfr_init_set_str(r9475, "1", 10, MPFR_RNDN);
        mpfr_init(r9476);
        mpfr_init(r9477);
        mpfr_init(r9478);
        mpfr_init(r9479);
        mpfr_init(r9480);
        mpfr_init(r9481);
}

double f_im(double t, double l, double k) {
        ;
        mpfr_set_d(r9464, t, MPFR_RNDN);
        ;
        mpfr_pow(r9466, r9464, r9465, MPFR_RNDN);
        mpfr_set_d(r9467, l, MPFR_RNDN);
        mpfr_mul(r9468, r9467, r9467, MPFR_RNDN);
        mpfr_div(r9469, r9466, r9468, MPFR_RNDN);
        mpfr_set_d(r9470, k, MPFR_RNDN);
        mpfr_sin(r9471, r9470, MPFR_RNDN);
        mpfr_mul(r9472, r9469, r9471, MPFR_RNDN);
        mpfr_tan(r9473, r9470, MPFR_RNDN);
        mpfr_mul(r9474, r9472, r9473, MPFR_RNDN);
        ;
        mpfr_div(r9476, r9470, r9464, MPFR_RNDN);
        mpfr_pow(r9477, r9476, r9463, MPFR_RNDN);
        mpfr_add(r9478, r9475, r9477, MPFR_RNDN);
        mpfr_add(r9479, r9478, r9475, MPFR_RNDN);
        mpfr_mul(r9480, r9474, r9479, MPFR_RNDN);
        mpfr_div(r9481, r9463, r9480, MPFR_RNDN);
        return mpfr_get_d(r9481, MPFR_RNDN);
}

static mpfr_t r9482, r9483, r9484, r9485, r9486, r9487, r9488, r9489, r9490, r9491, r9492, r9493, r9494, r9495, r9496, r9497, r9498, r9499, r9500, r9501, r9502, r9503, r9504, r9505, r9506, r9507, r9508, r9509, r9510, r9511, r9512, r9513;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9482);
        mpfr_init(r9483);
        mpfr_init(r9484);
        mpfr_init(r9485);
        mpfr_init(r9486);
        mpfr_init(r9487);
        mpfr_init(r9488);
        mpfr_init(r9489);
        mpfr_init(r9490);
        mpfr_init(r9491);
        mpfr_init_set_str(r9492, "1", 10, MPFR_RNDN);
        mpfr_init(r9493);
        mpfr_init_set_str(r9494, "2", 10, MPFR_RNDN);
        mpfr_init(r9495);
        mpfr_init(r9496);
        mpfr_init(r9497);
        mpfr_init(r9498);
        mpfr_init(r9499);
        mpfr_init(r9500);
        mpfr_init(r9501);
        mpfr_init_set_str(r9502, "-1.4027502456406145e+170", 10, MPFR_RNDN);
        mpfr_init(r9503);
        mpfr_init(r9504);
        mpfr_init(r9505);
        mpfr_init(r9506);
        mpfr_init(r9507);
        mpfr_init(r9508);
        mpfr_init_set_str(r9509, "8.984613750326747e-266", 10, MPFR_RNDN);
        mpfr_init(r9510);
        mpfr_init(r9511);
        mpfr_init(r9512);
        mpfr_init(r9513);
}

double f_fm(double t, double l, double k) {
        mpfr_set_d(r9482, t, MPFR_RNDN);
        mpfr_set_d(r9483, l, MPFR_RNDN);
        mpfr_div(r9484, r9482, r9483, MPFR_RNDN);
        mpfr_mul(r9485, r9482, r9484, MPFR_RNDN);
        mpfr_set_d(r9486, k, MPFR_RNDN);
        mpfr_sin(r9487, r9486, MPFR_RNDN);
        mpfr_mul(r9488, r9484, r9487, MPFR_RNDN);
        mpfr_mul(r9489, r9485, r9488, MPFR_RNDN);
        mpfr_tan(r9490, r9486, MPFR_RNDN);
        mpfr_mul(r9491, r9489, r9490, MPFR_RNDN);
        ;
        mpfr_div(r9493, r9486, r9482, MPFR_RNDN);
        ;
        mpfr_pow(r9495, r9493, r9494, MPFR_RNDN);
        mpfr_add(r9496, r9492, r9495, MPFR_RNDN);
        mpfr_add(r9497, r9496, r9492, MPFR_RNDN);
        mpfr_mul(r9498, r9491, r9497, MPFR_RNDN);
        mpfr_cbrt(r9499, r9498, MPFR_RNDN);
        mpfr_mul(r9500, r9499, r9499, MPFR_RNDN);
        mpfr_mul(r9501, r9500, r9499, MPFR_RNDN);
        ;
        mpfr_set_si(r9503, mpfr_cmp(r9501, r9502) <= 0, MPFR_RNDN);
        mpfr_mul(r9504, r9484, r9488, MPFR_RNDN);
        mpfr_mul(r9505, r9504, r9490, MPFR_RNDN);
        mpfr_mul(r9506, r9482, r9505, MPFR_RNDN);
        mpfr_mul(r9507, r9506, r9497, MPFR_RNDN);
        mpfr_div(r9508, r9494, r9507, MPFR_RNDN);
        ;
        mpfr_set_si(r9510, mpfr_cmp(r9501, r9509) <= 0, MPFR_RNDN);
        mpfr_div(r9511, r9494, r9501, MPFR_RNDN);
        if (mpfr_get_si(r9510, MPFR_RNDN)) { mpfr_set(r9512, r9511, MPFR_RNDN); } else { mpfr_set(r9512, r9508, MPFR_RNDN); };
        if (mpfr_get_si(r9503, MPFR_RNDN)) { mpfr_set(r9513, r9508, MPFR_RNDN); } else { mpfr_set(r9513, r9512, MPFR_RNDN); };
        return mpfr_get_d(r9513, MPFR_RNDN);
}

static mpfr_t r9514, r9515, r9516, r9517, r9518, r9519, r9520, r9521, r9522, r9523, r9524, r9525, r9526, r9527, r9528, r9529, r9530, r9531, r9532, r9533, r9534, r9535, r9536, r9537, r9538, r9539, r9540, r9541, r9542, r9543, r9544, r9545;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9514);
        mpfr_init(r9515);
        mpfr_init(r9516);
        mpfr_init(r9517);
        mpfr_init(r9518);
        mpfr_init(r9519);
        mpfr_init(r9520);
        mpfr_init(r9521);
        mpfr_init(r9522);
        mpfr_init(r9523);
        mpfr_init_set_str(r9524, "1", 10, MPFR_RNDN);
        mpfr_init(r9525);
        mpfr_init_set_str(r9526, "2", 10, MPFR_RNDN);
        mpfr_init(r9527);
        mpfr_init(r9528);
        mpfr_init(r9529);
        mpfr_init(r9530);
        mpfr_init(r9531);
        mpfr_init(r9532);
        mpfr_init(r9533);
        mpfr_init_set_str(r9534, "-1.4027502456406145e+170", 10, MPFR_RNDN);
        mpfr_init(r9535);
        mpfr_init(r9536);
        mpfr_init(r9537);
        mpfr_init(r9538);
        mpfr_init(r9539);
        mpfr_init(r9540);
        mpfr_init_set_str(r9541, "8.984613750326747e-266", 10, MPFR_RNDN);
        mpfr_init(r9542);
        mpfr_init(r9543);
        mpfr_init(r9544);
        mpfr_init(r9545);
}

double f_dm(double t, double l, double k) {
        mpfr_set_d(r9514, t, MPFR_RNDN);
        mpfr_set_d(r9515, l, MPFR_RNDN);
        mpfr_div(r9516, r9514, r9515, MPFR_RNDN);
        mpfr_mul(r9517, r9514, r9516, MPFR_RNDN);
        mpfr_set_d(r9518, k, MPFR_RNDN);
        mpfr_sin(r9519, r9518, MPFR_RNDN);
        mpfr_mul(r9520, r9516, r9519, MPFR_RNDN);
        mpfr_mul(r9521, r9517, r9520, MPFR_RNDN);
        mpfr_tan(r9522, r9518, MPFR_RNDN);
        mpfr_mul(r9523, r9521, r9522, MPFR_RNDN);
        ;
        mpfr_div(r9525, r9518, r9514, MPFR_RNDN);
        ;
        mpfr_pow(r9527, r9525, r9526, MPFR_RNDN);
        mpfr_add(r9528, r9524, r9527, MPFR_RNDN);
        mpfr_add(r9529, r9528, r9524, MPFR_RNDN);
        mpfr_mul(r9530, r9523, r9529, MPFR_RNDN);
        mpfr_cbrt(r9531, r9530, MPFR_RNDN);
        mpfr_mul(r9532, r9531, r9531, MPFR_RNDN);
        mpfr_mul(r9533, r9532, r9531, MPFR_RNDN);
        ;
        mpfr_set_si(r9535, mpfr_cmp(r9533, r9534) <= 0, MPFR_RNDN);
        mpfr_mul(r9536, r9516, r9520, MPFR_RNDN);
        mpfr_mul(r9537, r9536, r9522, MPFR_RNDN);
        mpfr_mul(r9538, r9514, r9537, MPFR_RNDN);
        mpfr_mul(r9539, r9538, r9529, MPFR_RNDN);
        mpfr_div(r9540, r9526, r9539, MPFR_RNDN);
        ;
        mpfr_set_si(r9542, mpfr_cmp(r9533, r9541) <= 0, MPFR_RNDN);
        mpfr_div(r9543, r9526, r9533, MPFR_RNDN);
        if (mpfr_get_si(r9542, MPFR_RNDN)) { mpfr_set(r9544, r9543, MPFR_RNDN); } else { mpfr_set(r9544, r9540, MPFR_RNDN); };
        if (mpfr_get_si(r9535, MPFR_RNDN)) { mpfr_set(r9545, r9540, MPFR_RNDN); } else { mpfr_set(r9545, r9544, MPFR_RNDN); };
        return mpfr_get_d(r9545, MPFR_RNDN);
}

