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

char *name = "Compound Interest";

double f_if(float i, float n) {
        float r9529 = 100.0f;
        float r9530 = 1.0f;
        float r9531 = i;
        float r9532 = n;
        float r9533 = r9531 / r9532;
        float r9534 = r9530 + r9533;
        float r9535 = pow(r9534, r9532);
        float r9536 = r9535 - r9530;
        float r9537 = r9536 / r9533;
        float r9538 = r9529 * r9537;
        return r9538;
}

double f_id(double i, double n) {
        double r9539 = 100.0;
        double r9540 = 1.0;
        double r9541 = i;
        double r9542 = n;
        double r9543 = r9541 / r9542;
        double r9544 = r9540 + r9543;
        double r9545 = pow(r9544, r9542);
        double r9546 = r9545 - r9540;
        double r9547 = r9546 / r9543;
        double r9548 = r9539 * r9547;
        return r9548;
}


double f_of(float i, float n) {
        float r9549 = 100.0f;
        float r9550 = 1.0f;
        float r9551 = i;
        float r9552 = n;
        float r9553 = r9551 / r9552;
        float r9554 = r9550 + r9553;
        float r9555 = pow(r9554, r9552);
        float r9556 = r9555 - r9550;
        float r9557 = r9556 / r9553;
        float r9558 = r9549 * r9557;
        float r9559 = 3.1903195975620304e-203f;
        bool r9560 = r9558 <= r9559;
        float r9561 = log1p(r9553);
        float r9562 = r9561 * r9552;
        float r9563 = expm1(r9562);
        float r9564 = r9563 / r9553;
        float r9565 = cbrt(r9564);
        float r9566 = r9565 * r9565;
        float r9567 = r9549 * r9566;
        float r9568 = r9565 * r9567;
        float r9569 = 7.058601280960488e-35f;
        bool r9570 = r9558 <= r9569;
        float r9571 = pow(r9553, r9552);
        float r9572 = r9571 - r9550;
        float r9573 = r9549 / r9551;
        float r9574 = r9552 * r9573;
        float r9575 = r9572 * r9574;
        float r9576 = 0.0f;
        float r9577 = r9576 * r9549;
        float r9578 = r9570 ? r9575 : r9577;
        float r9579 = r9560 ? r9568 : r9578;
        return r9579;
}

double f_od(double i, double n) {
        double r9580 = 100.0;
        double r9581 = 1.0;
        double r9582 = i;
        double r9583 = n;
        double r9584 = r9582 / r9583;
        double r9585 = r9581 + r9584;
        double r9586 = pow(r9585, r9583);
        double r9587 = r9586 - r9581;
        double r9588 = r9587 / r9584;
        double r9589 = r9580 * r9588;
        double r9590 = 3.1903195975620304e-203;
        bool r9591 = r9589 <= r9590;
        double r9592 = log1p(r9584);
        double r9593 = r9592 * r9583;
        double r9594 = expm1(r9593);
        double r9595 = r9594 / r9584;
        double r9596 = cbrt(r9595);
        double r9597 = r9596 * r9596;
        double r9598 = r9580 * r9597;
        double r9599 = r9596 * r9598;
        double r9600 = 7.058601280960488e-35;
        bool r9601 = r9589 <= r9600;
        double r9602 = pow(r9584, r9583);
        double r9603 = r9602 - r9581;
        double r9604 = r9580 / r9582;
        double r9605 = r9583 * r9604;
        double r9606 = r9603 * r9605;
        double r9607 = 0.0;
        double r9608 = r9607 * r9580;
        double r9609 = r9601 ? r9606 : r9608;
        double r9610 = r9591 ? r9599 : r9609;
        return r9610;
}

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 r9611, r9612, r9613, r9614, r9615, r9616, r9617, r9618, r9619, r9620;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r9611, "100", 10, MPFR_RNDN);
        mpfr_init_set_str(r9612, "1", 10, MPFR_RNDN);
        mpfr_init(r9613);
        mpfr_init(r9614);
        mpfr_init(r9615);
        mpfr_init(r9616);
        mpfr_init(r9617);
        mpfr_init(r9618);
        mpfr_init(r9619);
        mpfr_init(r9620);
}

double f_im(double i, double n) {
        ;
        ;
        mpfr_set_d(r9613, i, MPFR_RNDN);
        mpfr_set_d(r9614, n, MPFR_RNDN);
        mpfr_div(r9615, r9613, r9614, MPFR_RNDN);
        mpfr_add(r9616, r9612, r9615, MPFR_RNDN);
        mpfr_pow(r9617, r9616, r9614, MPFR_RNDN);
        mpfr_sub(r9618, r9617, r9612, MPFR_RNDN);
        mpfr_div(r9619, r9618, r9615, MPFR_RNDN);
        mpfr_mul(r9620, r9611, r9619, MPFR_RNDN);
        return mpfr_get_d(r9620, MPFR_RNDN);
}

static mpfr_t r9621, r9622, r9623, r9624, r9625, r9626, r9627, r9628, r9629, r9630, r9631, r9632, r9633, r9634, r9635, r9636, r9637, r9638, r9639, r9640, r9641, r9642, r9643, r9644, r9645, r9646, r9647, r9648, r9649, r9650, r9651;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r9621, "100", 10, MPFR_RNDN);
        mpfr_init_set_str(r9622, "1", 10, MPFR_RNDN);
        mpfr_init(r9623);
        mpfr_init(r9624);
        mpfr_init(r9625);
        mpfr_init(r9626);
        mpfr_init(r9627);
        mpfr_init(r9628);
        mpfr_init(r9629);
        mpfr_init(r9630);
        mpfr_init_set_str(r9631, "3.1903195975620304e-203", 10, MPFR_RNDN);
        mpfr_init(r9632);
        mpfr_init(r9633);
        mpfr_init(r9634);
        mpfr_init(r9635);
        mpfr_init(r9636);
        mpfr_init(r9637);
        mpfr_init(r9638);
        mpfr_init(r9639);
        mpfr_init(r9640);
        mpfr_init_set_str(r9641, "7.058601280960488e-35", 10, MPFR_RNDN);
        mpfr_init(r9642);
        mpfr_init(r9643);
        mpfr_init(r9644);
        mpfr_init(r9645);
        mpfr_init(r9646);
        mpfr_init(r9647);
        mpfr_init_set_str(r9648, "0", 10, MPFR_RNDN);
        mpfr_init(r9649);
        mpfr_init(r9650);
        mpfr_init(r9651);
}

double f_fm(double i, double n) {
        ;
        ;
        mpfr_set_d(r9623, i, MPFR_RNDN);
        mpfr_set_d(r9624, n, MPFR_RNDN);
        mpfr_div(r9625, r9623, r9624, MPFR_RNDN);
        mpfr_add(r9626, r9622, r9625, MPFR_RNDN);
        mpfr_pow(r9627, r9626, r9624, MPFR_RNDN);
        mpfr_sub(r9628, r9627, r9622, MPFR_RNDN);
        mpfr_div(r9629, r9628, r9625, MPFR_RNDN);
        mpfr_mul(r9630, r9621, r9629, MPFR_RNDN);
        ;
        mpfr_set_si(r9632, mpfr_cmp(r9630, r9631) <= 0, MPFR_RNDN);
        mpfr_log1p(r9633, r9625, MPFR_RNDN);
        mpfr_mul(r9634, r9633, r9624, MPFR_RNDN);
        mpfr_expm1(r9635, r9634, MPFR_RNDN);
        mpfr_div(r9636, r9635, r9625, MPFR_RNDN);
        mpfr_cbrt(r9637, r9636, MPFR_RNDN);
        mpfr_mul(r9638, r9637, r9637, MPFR_RNDN);
        mpfr_mul(r9639, r9621, r9638, MPFR_RNDN);
        mpfr_mul(r9640, r9637, r9639, MPFR_RNDN);
        ;
        mpfr_set_si(r9642, mpfr_cmp(r9630, r9641) <= 0, MPFR_RNDN);
        mpfr_pow(r9643, r9625, r9624, MPFR_RNDN);
        mpfr_sub(r9644, r9643, r9622, MPFR_RNDN);
        mpfr_div(r9645, r9621, r9623, MPFR_RNDN);
        mpfr_mul(r9646, r9624, r9645, MPFR_RNDN);
        mpfr_mul(r9647, r9644, r9646, MPFR_RNDN);
        ;
        mpfr_mul(r9649, r9648, r9621, MPFR_RNDN);
        if (mpfr_get_si(r9642, MPFR_RNDN)) { mpfr_set(r9650, r9647, MPFR_RNDN); } else { mpfr_set(r9650, r9649, MPFR_RNDN); };
        if (mpfr_get_si(r9632, MPFR_RNDN)) { mpfr_set(r9651, r9640, MPFR_RNDN); } else { mpfr_set(r9651, r9650, MPFR_RNDN); };
        return mpfr_get_d(r9651, MPFR_RNDN);
}

static mpfr_t r9652, r9653, r9654, r9655, r9656, r9657, r9658, r9659, r9660, r9661, r9662, r9663, r9664, r9665, r9666, r9667, r9668, r9669, r9670, r9671, r9672, r9673, r9674, r9675, r9676, r9677, r9678, r9679, r9680, r9681, r9682;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r9652, "100", 10, MPFR_RNDN);
        mpfr_init_set_str(r9653, "1", 10, MPFR_RNDN);
        mpfr_init(r9654);
        mpfr_init(r9655);
        mpfr_init(r9656);
        mpfr_init(r9657);
        mpfr_init(r9658);
        mpfr_init(r9659);
        mpfr_init(r9660);
        mpfr_init(r9661);
        mpfr_init_set_str(r9662, "3.1903195975620304e-203", 10, MPFR_RNDN);
        mpfr_init(r9663);
        mpfr_init(r9664);
        mpfr_init(r9665);
        mpfr_init(r9666);
        mpfr_init(r9667);
        mpfr_init(r9668);
        mpfr_init(r9669);
        mpfr_init(r9670);
        mpfr_init(r9671);
        mpfr_init_set_str(r9672, "7.058601280960488e-35", 10, MPFR_RNDN);
        mpfr_init(r9673);
        mpfr_init(r9674);
        mpfr_init(r9675);
        mpfr_init(r9676);
        mpfr_init(r9677);
        mpfr_init(r9678);
        mpfr_init_set_str(r9679, "0", 10, MPFR_RNDN);
        mpfr_init(r9680);
        mpfr_init(r9681);
        mpfr_init(r9682);
}

double f_dm(double i, double n) {
        ;
        ;
        mpfr_set_d(r9654, i, MPFR_RNDN);
        mpfr_set_d(r9655, n, MPFR_RNDN);
        mpfr_div(r9656, r9654, r9655, MPFR_RNDN);
        mpfr_add(r9657, r9653, r9656, MPFR_RNDN);
        mpfr_pow(r9658, r9657, r9655, MPFR_RNDN);
        mpfr_sub(r9659, r9658, r9653, MPFR_RNDN);
        mpfr_div(r9660, r9659, r9656, MPFR_RNDN);
        mpfr_mul(r9661, r9652, r9660, MPFR_RNDN);
        ;
        mpfr_set_si(r9663, mpfr_cmp(r9661, r9662) <= 0, MPFR_RNDN);
        mpfr_log1p(r9664, r9656, MPFR_RNDN);
        mpfr_mul(r9665, r9664, r9655, MPFR_RNDN);
        mpfr_expm1(r9666, r9665, MPFR_RNDN);
        mpfr_div(r9667, r9666, r9656, MPFR_RNDN);
        mpfr_cbrt(r9668, r9667, MPFR_RNDN);
        mpfr_mul(r9669, r9668, r9668, MPFR_RNDN);
        mpfr_mul(r9670, r9652, r9669, MPFR_RNDN);
        mpfr_mul(r9671, r9668, r9670, MPFR_RNDN);
        ;
        mpfr_set_si(r9673, mpfr_cmp(r9661, r9672) <= 0, MPFR_RNDN);
        mpfr_pow(r9674, r9656, r9655, MPFR_RNDN);
        mpfr_sub(r9675, r9674, r9653, MPFR_RNDN);
        mpfr_div(r9676, r9652, r9654, MPFR_RNDN);
        mpfr_mul(r9677, r9655, r9676, MPFR_RNDN);
        mpfr_mul(r9678, r9675, r9677, MPFR_RNDN);
        ;
        mpfr_mul(r9680, r9679, r9652, MPFR_RNDN);
        if (mpfr_get_si(r9673, MPFR_RNDN)) { mpfr_set(r9681, r9678, MPFR_RNDN); } else { mpfr_set(r9681, r9680, MPFR_RNDN); };
        if (mpfr_get_si(r9663, MPFR_RNDN)) { mpfr_set(r9682, r9671, MPFR_RNDN); } else { mpfr_set(r9682, r9681, MPFR_RNDN); };
        return mpfr_get_d(r9682, MPFR_RNDN);
}

