#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 r26467 = 100;
        float r26468 = 1;
        float r26469 = i;
        float r26470 = n;
        float r26471 = r26469 / r26470;
        float r26472 = r26468 + r26471;
        float r26473 = pow(r26472, r26470);
        float r26474 = r26473 - r26468;
        float r26475 = r26474 / r26471;
        float r26476 = r26467 * r26475;
        return r26476;
}

double f_id(double i, double n) {
        double r26477 = 100;
        double r26478 = 1;
        double r26479 = i;
        double r26480 = n;
        double r26481 = r26479 / r26480;
        double r26482 = r26478 + r26481;
        double r26483 = pow(r26482, r26480);
        double r26484 = r26483 - r26478;
        double r26485 = r26484 / r26481;
        double r26486 = r26477 * r26485;
        return r26486;
}


double f_of(float i, float n) {
        float r26487 = 1;
        float r26488 = 1/2;
        float r26489 = i;
        float r26490 = r26488 * r26489;
        float r26491 = r26487 + r26490;
        float r26492 = cbrt(r26491);
        float r26493 = 100;
        float r26494 = r26492 * r26493;
        float r26495 = log(r26494);
        float r26496 = log(r26492);
        float r26497 = r26495 + r26496;
        float r26498 = exp(r26497);
        float r26499 = n;
        float r26500 = r26492 * r26499;
        float r26501 = r26498 * r26500;
        float r26502 = -7.624336848879026e+306;
        bool r26503 = r26501 <= r26502;
        float r26504 = r26489 / r26499;
        float r26505 = r26487 + r26504;
        float r26506 = pow(r26505, r26499);
        float r26507 = r26506 - r26487;
        float r26508 = cbrt(r26507);
        float r26509 = r26508 * r26508;
        float r26510 = r26509 / r26489;
        float r26511 = r26493 * r26510;
        float r26512 = r26487 / r26499;
        float r26513 = r26508 / r26512;
        float r26514 = r26511 * r26513;
        float r26515 = -3.00713314653184e-223;
        bool r26516 = r26501 <= r26515;
        float r26517 = r26494 * r26492;
        float r26518 = r26517 * r26500;
        float r26519 = 9.622988130177224e-234;
        bool r26520 = r26501 <= r26519;
        float r26521 = 3.9957841037641655e+77;
        bool r26522 = r26501 <= r26521;
        float r26523 = r26489 * r26488;
        float r26524 = r26523 + r26487;
        float r26525 = cbrt(r26504);
        float r26526 = r26525 * r26525;
        float r26527 = r26493 * r26489;
        float r26528 = r26527 / r26525;
        float r26529 = r26526 / r26528;
        float r26530 = r26524 / r26529;
        float r26531 = 1.0860377852729923e+303;
        bool r26532 = r26501 <= r26531;
        float r26533 = r26507 / r26504;
        float r26534 = cbrt(r26533);
        float r26535 = r26534 * r26534;
        float r26536 = r26493 * r26535;
        float r26537 = r26536 * r26534;
        float r26538 = r26532 ? r26518 : r26537;
        float r26539 = r26522 ? r26530 : r26538;
        float r26540 = r26520 ? r26514 : r26539;
        float r26541 = r26516 ? r26518 : r26540;
        float r26542 = r26503 ? r26514 : r26541;
        return r26542;
}

double f_od(double i, double n) {
        double r26543 = 1;
        double r26544 = 1/2;
        double r26545 = i;
        double r26546 = r26544 * r26545;
        double r26547 = r26543 + r26546;
        double r26548 = cbrt(r26547);
        double r26549 = 100;
        double r26550 = r26548 * r26549;
        double r26551 = log(r26550);
        double r26552 = log(r26548);
        double r26553 = r26551 + r26552;
        double r26554 = exp(r26553);
        double r26555 = n;
        double r26556 = r26548 * r26555;
        double r26557 = r26554 * r26556;
        double r26558 = -7.624336848879026e+306;
        bool r26559 = r26557 <= r26558;
        double r26560 = r26545 / r26555;
        double r26561 = r26543 + r26560;
        double r26562 = pow(r26561, r26555);
        double r26563 = r26562 - r26543;
        double r26564 = cbrt(r26563);
        double r26565 = r26564 * r26564;
        double r26566 = r26565 / r26545;
        double r26567 = r26549 * r26566;
        double r26568 = r26543 / r26555;
        double r26569 = r26564 / r26568;
        double r26570 = r26567 * r26569;
        double r26571 = -3.00713314653184e-223;
        bool r26572 = r26557 <= r26571;
        double r26573 = r26550 * r26548;
        double r26574 = r26573 * r26556;
        double r26575 = 9.622988130177224e-234;
        bool r26576 = r26557 <= r26575;
        double r26577 = 3.9957841037641655e+77;
        bool r26578 = r26557 <= r26577;
        double r26579 = r26545 * r26544;
        double r26580 = r26579 + r26543;
        double r26581 = cbrt(r26560);
        double r26582 = r26581 * r26581;
        double r26583 = r26549 * r26545;
        double r26584 = r26583 / r26581;
        double r26585 = r26582 / r26584;
        double r26586 = r26580 / r26585;
        double r26587 = 1.0860377852729923e+303;
        bool r26588 = r26557 <= r26587;
        double r26589 = r26563 / r26560;
        double r26590 = cbrt(r26589);
        double r26591 = r26590 * r26590;
        double r26592 = r26549 * r26591;
        double r26593 = r26592 * r26590;
        double r26594 = r26588 ? r26574 : r26593;
        double r26595 = r26578 ? r26586 : r26594;
        double r26596 = r26576 ? r26570 : r26595;
        double r26597 = r26572 ? r26574 : r26596;
        double r26598 = r26559 ? r26570 : r26597;
        return r26598;
}

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 r26599, r26600, r26601, r26602, r26603, r26604, r26605, r26606, r26607, r26608;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3152);
        mpfr_init_set_str(r26599, "100", 10, MPFR_RNDN);
        mpfr_init_set_str(r26600, "1", 10, MPFR_RNDN);
        mpfr_init(r26601);
        mpfr_init(r26602);
        mpfr_init(r26603);
        mpfr_init(r26604);
        mpfr_init(r26605);
        mpfr_init(r26606);
        mpfr_init(r26607);
        mpfr_init(r26608);
}

double f_im(double i, double n) {
        ;
        ;
        mpfr_set_d(r26601, i, MPFR_RNDN);
        mpfr_set_d(r26602, n, MPFR_RNDN);
        mpfr_div(r26603, r26601, r26602, MPFR_RNDN);
        mpfr_add(r26604, r26600, r26603, MPFR_RNDN);
        mpfr_pow(r26605, r26604, r26602, MPFR_RNDN);
        mpfr_sub(r26606, r26605, r26600, MPFR_RNDN);
        mpfr_div(r26607, r26606, r26603, MPFR_RNDN);
        mpfr_mul(r26608, r26599, r26607, MPFR_RNDN);
        return mpfr_get_d(r26608, MPFR_RNDN);
}

static mpfr_t r26609, r26610, r26611, r26612, r26613, r26614, r26615, r26616, r26617, r26618, r26619, r26620, r26621, r26622, r26623, r26624, r26625, r26626, r26627, r26628, r26629, r26630, r26631, r26632, r26633, r26634, r26635, r26636, r26637, r26638, r26639, r26640, r26641, r26642, r26643, r26644, r26645, r26646, r26647, r26648, r26649, r26650, r26651, r26652, r26653, r26654, r26655, r26656, r26657, r26658, r26659, r26660, r26661, r26662, r26663, r26664;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3152);
        mpfr_init_set_str(r26609, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26610, "1/2", 10, MPFR_RNDN);
        mpfr_init(r26611);
        mpfr_init(r26612);
        mpfr_init(r26613);
        mpfr_init(r26614);
        mpfr_init_set_str(r26615, "100", 10, MPFR_RNDN);
        mpfr_init(r26616);
        mpfr_init(r26617);
        mpfr_init(r26618);
        mpfr_init(r26619);
        mpfr_init(r26620);
        mpfr_init(r26621);
        mpfr_init(r26622);
        mpfr_init(r26623);
        mpfr_init_set_str(r26624, "-7.624336848879026e+306", 10, MPFR_RNDN);
        mpfr_init(r26625);
        mpfr_init(r26626);
        mpfr_init(r26627);
        mpfr_init(r26628);
        mpfr_init(r26629);
        mpfr_init(r26630);
        mpfr_init(r26631);
        mpfr_init(r26632);
        mpfr_init(r26633);
        mpfr_init(r26634);
        mpfr_init(r26635);
        mpfr_init(r26636);
        mpfr_init_set_str(r26637, "-3.00713314653184e-223", 10, MPFR_RNDN);
        mpfr_init(r26638);
        mpfr_init(r26639);
        mpfr_init(r26640);
        mpfr_init_set_str(r26641, "9.622988130177224e-234", 10, MPFR_RNDN);
        mpfr_init(r26642);
        mpfr_init_set_str(r26643, "3.9957841037641655e+77", 10, MPFR_RNDN);
        mpfr_init(r26644);
        mpfr_init(r26645);
        mpfr_init(r26646);
        mpfr_init(r26647);
        mpfr_init(r26648);
        mpfr_init(r26649);
        mpfr_init(r26650);
        mpfr_init(r26651);
        mpfr_init(r26652);
        mpfr_init_set_str(r26653, "1.0860377852729923e+303", 10, MPFR_RNDN);
        mpfr_init(r26654);
        mpfr_init(r26655);
        mpfr_init(r26656);
        mpfr_init(r26657);
        mpfr_init(r26658);
        mpfr_init(r26659);
        mpfr_init(r26660);
        mpfr_init(r26661);
        mpfr_init(r26662);
        mpfr_init(r26663);
        mpfr_init(r26664);
}

double f_fm(double i, double n) {
        ;
        ;
        mpfr_set_d(r26611, i, MPFR_RNDN);
        mpfr_mul(r26612, r26610, r26611, MPFR_RNDN);
        mpfr_add(r26613, r26609, r26612, MPFR_RNDN);
        mpfr_cbrt(r26614, r26613, MPFR_RNDN);
        ;
        mpfr_mul(r26616, r26614, r26615, MPFR_RNDN);
        mpfr_log(r26617, r26616, MPFR_RNDN);
        mpfr_log(r26618, r26614, MPFR_RNDN);
        mpfr_add(r26619, r26617, r26618, MPFR_RNDN);
        mpfr_exp(r26620, r26619, MPFR_RNDN);
        mpfr_set_d(r26621, n, MPFR_RNDN);
        mpfr_mul(r26622, r26614, r26621, MPFR_RNDN);
        mpfr_mul(r26623, r26620, r26622, MPFR_RNDN);
        ;
        mpfr_set_si(r26625, mpfr_cmp(r26623, r26624) <= 0, MPFR_RNDN);
        mpfr_div(r26626, r26611, r26621, MPFR_RNDN);
        mpfr_add(r26627, r26609, r26626, MPFR_RNDN);
        mpfr_pow(r26628, r26627, r26621, MPFR_RNDN);
        mpfr_sub(r26629, r26628, r26609, MPFR_RNDN);
        mpfr_cbrt(r26630, r26629, MPFR_RNDN);
        mpfr_mul(r26631, r26630, r26630, MPFR_RNDN);
        mpfr_div(r26632, r26631, r26611, MPFR_RNDN);
        mpfr_mul(r26633, r26615, r26632, MPFR_RNDN);
        mpfr_div(r26634, r26609, r26621, MPFR_RNDN);
        mpfr_div(r26635, r26630, r26634, MPFR_RNDN);
        mpfr_mul(r26636, r26633, r26635, MPFR_RNDN);
        ;
        mpfr_set_si(r26638, mpfr_cmp(r26623, r26637) <= 0, MPFR_RNDN);
        mpfr_mul(r26639, r26616, r26614, MPFR_RNDN);
        mpfr_mul(r26640, r26639, r26622, MPFR_RNDN);
        ;
        mpfr_set_si(r26642, mpfr_cmp(r26623, r26641) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26644, mpfr_cmp(r26623, r26643) <= 0, MPFR_RNDN);
        mpfr_mul(r26645, r26611, r26610, MPFR_RNDN);
        mpfr_add(r26646, r26645, r26609, MPFR_RNDN);
        mpfr_cbrt(r26647, r26626, MPFR_RNDN);
        mpfr_mul(r26648, r26647, r26647, MPFR_RNDN);
        mpfr_mul(r26649, r26615, r26611, MPFR_RNDN);
        mpfr_div(r26650, r26649, r26647, MPFR_RNDN);
        mpfr_div(r26651, r26648, r26650, MPFR_RNDN);
        mpfr_div(r26652, r26646, r26651, MPFR_RNDN);
        ;
        mpfr_set_si(r26654, mpfr_cmp(r26623, r26653) <= 0, MPFR_RNDN);
        mpfr_div(r26655, r26629, r26626, MPFR_RNDN);
        mpfr_cbrt(r26656, r26655, MPFR_RNDN);
        mpfr_mul(r26657, r26656, r26656, MPFR_RNDN);
        mpfr_mul(r26658, r26615, r26657, MPFR_RNDN);
        mpfr_mul(r26659, r26658, r26656, MPFR_RNDN);
        if (mpfr_get_si(r26654, MPFR_RNDN)) { mpfr_set(r26660, r26640, MPFR_RNDN); } else { mpfr_set(r26660, r26659, MPFR_RNDN); };
        if (mpfr_get_si(r26644, MPFR_RNDN)) { mpfr_set(r26661, r26652, MPFR_RNDN); } else { mpfr_set(r26661, r26660, MPFR_RNDN); };
        if (mpfr_get_si(r26642, MPFR_RNDN)) { mpfr_set(r26662, r26636, MPFR_RNDN); } else { mpfr_set(r26662, r26661, MPFR_RNDN); };
        if (mpfr_get_si(r26638, MPFR_RNDN)) { mpfr_set(r26663, r26640, MPFR_RNDN); } else { mpfr_set(r26663, r26662, MPFR_RNDN); };
        if (mpfr_get_si(r26625, MPFR_RNDN)) { mpfr_set(r26664, r26636, MPFR_RNDN); } else { mpfr_set(r26664, r26663, MPFR_RNDN); };
        return mpfr_get_d(r26664, MPFR_RNDN);
}

static mpfr_t r26665, r26666, r26667, r26668, r26669, r26670, r26671, r26672, r26673, r26674, r26675, r26676, r26677, r26678, r26679, r26680, r26681, r26682, r26683, r26684, r26685, r26686, r26687, r26688, r26689, r26690, r26691, r26692, r26693, r26694, r26695, r26696, r26697, r26698, r26699, r26700, r26701, r26702, r26703, r26704, r26705, r26706, r26707, r26708, r26709, r26710, r26711, r26712, r26713, r26714, r26715, r26716, r26717, r26718, r26719, r26720;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3152);
        mpfr_init_set_str(r26665, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26666, "1/2", 10, MPFR_RNDN);
        mpfr_init(r26667);
        mpfr_init(r26668);
        mpfr_init(r26669);
        mpfr_init(r26670);
        mpfr_init_set_str(r26671, "100", 10, MPFR_RNDN);
        mpfr_init(r26672);
        mpfr_init(r26673);
        mpfr_init(r26674);
        mpfr_init(r26675);
        mpfr_init(r26676);
        mpfr_init(r26677);
        mpfr_init(r26678);
        mpfr_init(r26679);
        mpfr_init_set_str(r26680, "-7.624336848879026e+306", 10, MPFR_RNDN);
        mpfr_init(r26681);
        mpfr_init(r26682);
        mpfr_init(r26683);
        mpfr_init(r26684);
        mpfr_init(r26685);
        mpfr_init(r26686);
        mpfr_init(r26687);
        mpfr_init(r26688);
        mpfr_init(r26689);
        mpfr_init(r26690);
        mpfr_init(r26691);
        mpfr_init(r26692);
        mpfr_init_set_str(r26693, "-3.00713314653184e-223", 10, MPFR_RNDN);
        mpfr_init(r26694);
        mpfr_init(r26695);
        mpfr_init(r26696);
        mpfr_init_set_str(r26697, "9.622988130177224e-234", 10, MPFR_RNDN);
        mpfr_init(r26698);
        mpfr_init_set_str(r26699, "3.9957841037641655e+77", 10, MPFR_RNDN);
        mpfr_init(r26700);
        mpfr_init(r26701);
        mpfr_init(r26702);
        mpfr_init(r26703);
        mpfr_init(r26704);
        mpfr_init(r26705);
        mpfr_init(r26706);
        mpfr_init(r26707);
        mpfr_init(r26708);
        mpfr_init_set_str(r26709, "1.0860377852729923e+303", 10, MPFR_RNDN);
        mpfr_init(r26710);
        mpfr_init(r26711);
        mpfr_init(r26712);
        mpfr_init(r26713);
        mpfr_init(r26714);
        mpfr_init(r26715);
        mpfr_init(r26716);
        mpfr_init(r26717);
        mpfr_init(r26718);
        mpfr_init(r26719);
        mpfr_init(r26720);
}

double f_dm(double i, double n) {
        ;
        ;
        mpfr_set_d(r26667, i, MPFR_RNDN);
        mpfr_mul(r26668, r26666, r26667, MPFR_RNDN);
        mpfr_add(r26669, r26665, r26668, MPFR_RNDN);
        mpfr_cbrt(r26670, r26669, MPFR_RNDN);
        ;
        mpfr_mul(r26672, r26670, r26671, MPFR_RNDN);
        mpfr_log(r26673, r26672, MPFR_RNDN);
        mpfr_log(r26674, r26670, MPFR_RNDN);
        mpfr_add(r26675, r26673, r26674, MPFR_RNDN);
        mpfr_exp(r26676, r26675, MPFR_RNDN);
        mpfr_set_d(r26677, n, MPFR_RNDN);
        mpfr_mul(r26678, r26670, r26677, MPFR_RNDN);
        mpfr_mul(r26679, r26676, r26678, MPFR_RNDN);
        ;
        mpfr_set_si(r26681, mpfr_cmp(r26679, r26680) <= 0, MPFR_RNDN);
        mpfr_div(r26682, r26667, r26677, MPFR_RNDN);
        mpfr_add(r26683, r26665, r26682, MPFR_RNDN);
        mpfr_pow(r26684, r26683, r26677, MPFR_RNDN);
        mpfr_sub(r26685, r26684, r26665, MPFR_RNDN);
        mpfr_cbrt(r26686, r26685, MPFR_RNDN);
        mpfr_mul(r26687, r26686, r26686, MPFR_RNDN);
        mpfr_div(r26688, r26687, r26667, MPFR_RNDN);
        mpfr_mul(r26689, r26671, r26688, MPFR_RNDN);
        mpfr_div(r26690, r26665, r26677, MPFR_RNDN);
        mpfr_div(r26691, r26686, r26690, MPFR_RNDN);
        mpfr_mul(r26692, r26689, r26691, MPFR_RNDN);
        ;
        mpfr_set_si(r26694, mpfr_cmp(r26679, r26693) <= 0, MPFR_RNDN);
        mpfr_mul(r26695, r26672, r26670, MPFR_RNDN);
        mpfr_mul(r26696, r26695, r26678, MPFR_RNDN);
        ;
        mpfr_set_si(r26698, mpfr_cmp(r26679, r26697) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26700, mpfr_cmp(r26679, r26699) <= 0, MPFR_RNDN);
        mpfr_mul(r26701, r26667, r26666, MPFR_RNDN);
        mpfr_add(r26702, r26701, r26665, MPFR_RNDN);
        mpfr_cbrt(r26703, r26682, MPFR_RNDN);
        mpfr_mul(r26704, r26703, r26703, MPFR_RNDN);
        mpfr_mul(r26705, r26671, r26667, MPFR_RNDN);
        mpfr_div(r26706, r26705, r26703, MPFR_RNDN);
        mpfr_div(r26707, r26704, r26706, MPFR_RNDN);
        mpfr_div(r26708, r26702, r26707, MPFR_RNDN);
        ;
        mpfr_set_si(r26710, mpfr_cmp(r26679, r26709) <= 0, MPFR_RNDN);
        mpfr_div(r26711, r26685, r26682, MPFR_RNDN);
        mpfr_cbrt(r26712, r26711, MPFR_RNDN);
        mpfr_mul(r26713, r26712, r26712, MPFR_RNDN);
        mpfr_mul(r26714, r26671, r26713, MPFR_RNDN);
        mpfr_mul(r26715, r26714, r26712, MPFR_RNDN);
        if (mpfr_get_si(r26710, MPFR_RNDN)) { mpfr_set(r26716, r26696, MPFR_RNDN); } else { mpfr_set(r26716, r26715, MPFR_RNDN); };
        if (mpfr_get_si(r26700, MPFR_RNDN)) { mpfr_set(r26717, r26708, MPFR_RNDN); } else { mpfr_set(r26717, r26716, MPFR_RNDN); };
        if (mpfr_get_si(r26698, MPFR_RNDN)) { mpfr_set(r26718, r26692, MPFR_RNDN); } else { mpfr_set(r26718, r26717, MPFR_RNDN); };
        if (mpfr_get_si(r26694, MPFR_RNDN)) { mpfr_set(r26719, r26696, MPFR_RNDN); } else { mpfr_set(r26719, r26718, MPFR_RNDN); };
        if (mpfr_get_si(r26681, MPFR_RNDN)) { mpfr_set(r26720, r26692, MPFR_RNDN); } else { mpfr_set(r26720, r26719, MPFR_RNDN); };
        return mpfr_get_d(r26720, MPFR_RNDN);
}

