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

char *name = "Octave 3.8, jcobi/2";

double f_if(float alpha, float beta, float i) {
        float r26282 = alpha;
        float r26283 = beta;
        float r26284 = r26282 + r26283;
        float r26285 = r26283 - r26282;
        float r26286 = r26284 * r26285;
        float r26287 = 2;
        float r26288 = i;
        float r26289 = r26287 * r26288;
        float r26290 = r26284 + r26289;
        float r26291 = r26286 / r26290;
        float r26292 = 2.0;
        float r26293 = r26290 + r26292;
        float r26294 = r26291 / r26293;
        float r26295 = 1.0;
        float r26296 = r26294 + r26295;
        float r26297 = r26296 / r26292;
        return r26297;
}

double f_id(double alpha, double beta, double i) {
        double r26298 = alpha;
        double r26299 = beta;
        double r26300 = r26298 + r26299;
        double r26301 = r26299 - r26298;
        double r26302 = r26300 * r26301;
        double r26303 = 2;
        double r26304 = i;
        double r26305 = r26303 * r26304;
        double r26306 = r26300 + r26305;
        double r26307 = r26302 / r26306;
        double r26308 = 2.0;
        double r26309 = r26306 + r26308;
        double r26310 = r26307 / r26309;
        double r26311 = 1.0;
        double r26312 = r26310 + r26311;
        double r26313 = r26312 / r26308;
        return r26313;
}


double f_of(float alpha, float beta, float i) {
        float r26314 = alpha;
        float r26315 = beta;
        float r26316 = r26314 + r26315;
        float r26317 = r26315 - r26314;
        float r26318 = i;
        float r26319 = 2;
        float r26320 = r26318 * r26319;
        float r26321 = r26320 + r26316;
        float r26322 = r26317 / r26321;
        float r26323 = r26316 * r26322;
        float r26324 = 2.0;
        float r26325 = r26324 + r26314;
        float r26326 = r26325 + r26320;
        float r26327 = r26315 + r26326;
        float r26328 = sqrt(r26327);
        float r26329 = r26323 / r26328;
        float r26330 = r26329 / r26328;
        float r26331 = 1.0;
        float r26332 = r26330 + r26331;
        float r26333 = 3;
        float r26334 = pow(r26332, r26333);
        float r26335 = cbrt(r26334);
        float r26336 = r26335 / r26324;
        float r26337 = 1.3200551932163768e-05;
        bool r26338 = r26336 <= r26337;
        float r26339 = r26324 / r26314;
        float r26340 = 8.0;
        float r26341 = r26340 / r26314;
        float r26342 = 4.0;
        float r26343 = r26341 - r26342;
        float r26344 = r26314 * r26314;
        float r26345 = r26343 / r26344;
        float r26346 = r26339 + r26345;
        float r26347 = r26346 / r26324;
        float r26348 = r26338 ? r26347 : r26336;
        return r26348;
}

double f_od(double alpha, double beta, double i) {
        double r26349 = alpha;
        double r26350 = beta;
        double r26351 = r26349 + r26350;
        double r26352 = r26350 - r26349;
        double r26353 = i;
        double r26354 = 2;
        double r26355 = r26353 * r26354;
        double r26356 = r26355 + r26351;
        double r26357 = r26352 / r26356;
        double r26358 = r26351 * r26357;
        double r26359 = 2.0;
        double r26360 = r26359 + r26349;
        double r26361 = r26360 + r26355;
        double r26362 = r26350 + r26361;
        double r26363 = sqrt(r26362);
        double r26364 = r26358 / r26363;
        double r26365 = r26364 / r26363;
        double r26366 = 1.0;
        double r26367 = r26365 + r26366;
        double r26368 = 3;
        double r26369 = pow(r26367, r26368);
        double r26370 = cbrt(r26369);
        double r26371 = r26370 / r26359;
        double r26372 = 1.3200551932163768e-05;
        bool r26373 = r26371 <= r26372;
        double r26374 = r26359 / r26349;
        double r26375 = 8.0;
        double r26376 = r26375 / r26349;
        double r26377 = 4.0;
        double r26378 = r26376 - r26377;
        double r26379 = r26349 * r26349;
        double r26380 = r26378 / r26379;
        double r26381 = r26374 + r26380;
        double r26382 = r26381 / r26359;
        double r26383 = r26373 ? r26382 : r26371;
        return r26383;
}

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 r26384, r26385, r26386, r26387, r26388, r26389, r26390, r26391, r26392, r26393, r26394, r26395, r26396, r26397, r26398, r26399;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26384);
        mpfr_init(r26385);
        mpfr_init(r26386);
        mpfr_init(r26387);
        mpfr_init(r26388);
        mpfr_init_set_str(r26389, "2", 10, MPFR_RNDN);
        mpfr_init(r26390);
        mpfr_init(r26391);
        mpfr_init(r26392);
        mpfr_init(r26393);
        mpfr_init_set_str(r26394, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26395);
        mpfr_init(r26396);
        mpfr_init_set_str(r26397, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26398);
        mpfr_init(r26399);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r26384, alpha, MPFR_RNDN);
        mpfr_set_d(r26385, beta, MPFR_RNDN);
        mpfr_add(r26386, r26384, r26385, MPFR_RNDN);
        mpfr_sub(r26387, r26385, r26384, MPFR_RNDN);
        mpfr_mul(r26388, r26386, r26387, MPFR_RNDN);
        ;
        mpfr_set_d(r26390, i, MPFR_RNDN);
        mpfr_mul(r26391, r26389, r26390, MPFR_RNDN);
        mpfr_add(r26392, r26386, r26391, MPFR_RNDN);
        mpfr_div(r26393, r26388, r26392, MPFR_RNDN);
        ;
        mpfr_add(r26395, r26392, r26394, MPFR_RNDN);
        mpfr_div(r26396, r26393, r26395, MPFR_RNDN);
        ;
        mpfr_add(r26398, r26396, r26397, MPFR_RNDN);
        mpfr_div(r26399, r26398, r26394, MPFR_RNDN);
        return mpfr_get_d(r26399, MPFR_RNDN);
}

static mpfr_t r26400, r26401, r26402, r26403, r26404, r26405, r26406, r26407, r26408, r26409, r26410, r26411, r26412, r26413, r26414, r26415, r26416, r26417, r26418, r26419, r26420, r26421, r26422, r26423, r26424, r26425, r26426, r26427, r26428, r26429, r26430, r26431, r26432, r26433, r26434;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26400);
        mpfr_init(r26401);
        mpfr_init(r26402);
        mpfr_init(r26403);
        mpfr_init(r26404);
        mpfr_init_set_str(r26405, "2", 10, MPFR_RNDN);
        mpfr_init(r26406);
        mpfr_init(r26407);
        mpfr_init(r26408);
        mpfr_init(r26409);
        mpfr_init_set_str(r26410, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26411);
        mpfr_init(r26412);
        mpfr_init(r26413);
        mpfr_init(r26414);
        mpfr_init(r26415);
        mpfr_init(r26416);
        mpfr_init_set_str(r26417, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26418);
        mpfr_init_set_str(r26419, "3", 10, MPFR_RNDN);
        mpfr_init(r26420);
        mpfr_init(r26421);
        mpfr_init(r26422);
        mpfr_init_set_str(r26423, "1.3200551932163768e-05", 10, MPFR_RNDN);
        mpfr_init(r26424);
        mpfr_init(r26425);
        mpfr_init_set_str(r26426, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26427);
        mpfr_init_set_str(r26428, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26429);
        mpfr_init(r26430);
        mpfr_init(r26431);
        mpfr_init(r26432);
        mpfr_init(r26433);
        mpfr_init(r26434);
}

double f_fm(double alpha, double beta, double i) {
        mpfr_set_d(r26400, alpha, MPFR_RNDN);
        mpfr_set_d(r26401, beta, MPFR_RNDN);
        mpfr_add(r26402, r26400, r26401, MPFR_RNDN);
        mpfr_sub(r26403, r26401, r26400, MPFR_RNDN);
        mpfr_set_d(r26404, i, MPFR_RNDN);
        ;
        mpfr_mul(r26406, r26404, r26405, MPFR_RNDN);
        mpfr_add(r26407, r26406, r26402, MPFR_RNDN);
        mpfr_div(r26408, r26403, r26407, MPFR_RNDN);
        mpfr_mul(r26409, r26402, r26408, MPFR_RNDN);
        ;
        mpfr_add(r26411, r26410, r26400, MPFR_RNDN);
        mpfr_add(r26412, r26411, r26406, MPFR_RNDN);
        mpfr_add(r26413, r26401, r26412, MPFR_RNDN);
        mpfr_sqrt(r26414, r26413, MPFR_RNDN);
        mpfr_div(r26415, r26409, r26414, MPFR_RNDN);
        mpfr_div(r26416, r26415, r26414, MPFR_RNDN);
        ;
        mpfr_add(r26418, r26416, r26417, MPFR_RNDN);
        ;
        mpfr_pow(r26420, r26418, r26419, MPFR_RNDN);
        mpfr_cbrt(r26421, r26420, MPFR_RNDN);
        mpfr_div(r26422, r26421, r26410, MPFR_RNDN);
        ;
        mpfr_set_si(r26424, mpfr_cmp(r26422, r26423) <= 0, MPFR_RNDN);
        mpfr_div(r26425, r26410, r26400, MPFR_RNDN);
        ;
        mpfr_div(r26427, r26426, r26400, MPFR_RNDN);
        ;
        mpfr_sub(r26429, r26427, r26428, MPFR_RNDN);
        mpfr_mul(r26430, r26400, r26400, MPFR_RNDN);
        mpfr_div(r26431, r26429, r26430, MPFR_RNDN);
        mpfr_add(r26432, r26425, r26431, MPFR_RNDN);
        mpfr_div(r26433, r26432, r26410, MPFR_RNDN);
        if (mpfr_get_si(r26424, MPFR_RNDN)) { mpfr_set(r26434, r26433, MPFR_RNDN); } else { mpfr_set(r26434, r26422, MPFR_RNDN); };
        return mpfr_get_d(r26434, MPFR_RNDN);
}

static mpfr_t r26435, r26436, r26437, r26438, r26439, r26440, r26441, r26442, r26443, r26444, r26445, r26446, r26447, r26448, r26449, r26450, r26451, r26452, r26453, r26454, r26455, r26456, r26457, r26458, r26459, r26460, r26461, r26462, r26463, r26464, r26465, r26466, r26467, r26468, r26469;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26435);
        mpfr_init(r26436);
        mpfr_init(r26437);
        mpfr_init(r26438);
        mpfr_init(r26439);
        mpfr_init_set_str(r26440, "2", 10, MPFR_RNDN);
        mpfr_init(r26441);
        mpfr_init(r26442);
        mpfr_init(r26443);
        mpfr_init(r26444);
        mpfr_init_set_str(r26445, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26446);
        mpfr_init(r26447);
        mpfr_init(r26448);
        mpfr_init(r26449);
        mpfr_init(r26450);
        mpfr_init(r26451);
        mpfr_init_set_str(r26452, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26453);
        mpfr_init_set_str(r26454, "3", 10, MPFR_RNDN);
        mpfr_init(r26455);
        mpfr_init(r26456);
        mpfr_init(r26457);
        mpfr_init_set_str(r26458, "1.3200551932163768e-05", 10, MPFR_RNDN);
        mpfr_init(r26459);
        mpfr_init(r26460);
        mpfr_init_set_str(r26461, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26462);
        mpfr_init_set_str(r26463, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26464);
        mpfr_init(r26465);
        mpfr_init(r26466);
        mpfr_init(r26467);
        mpfr_init(r26468);
        mpfr_init(r26469);
}

double f_dm(double alpha, double beta, double i) {
        mpfr_set_d(r26435, alpha, MPFR_RNDN);
        mpfr_set_d(r26436, beta, MPFR_RNDN);
        mpfr_add(r26437, r26435, r26436, MPFR_RNDN);
        mpfr_sub(r26438, r26436, r26435, MPFR_RNDN);
        mpfr_set_d(r26439, i, MPFR_RNDN);
        ;
        mpfr_mul(r26441, r26439, r26440, MPFR_RNDN);
        mpfr_add(r26442, r26441, r26437, MPFR_RNDN);
        mpfr_div(r26443, r26438, r26442, MPFR_RNDN);
        mpfr_mul(r26444, r26437, r26443, MPFR_RNDN);
        ;
        mpfr_add(r26446, r26445, r26435, MPFR_RNDN);
        mpfr_add(r26447, r26446, r26441, MPFR_RNDN);
        mpfr_add(r26448, r26436, r26447, MPFR_RNDN);
        mpfr_sqrt(r26449, r26448, MPFR_RNDN);
        mpfr_div(r26450, r26444, r26449, MPFR_RNDN);
        mpfr_div(r26451, r26450, r26449, MPFR_RNDN);
        ;
        mpfr_add(r26453, r26451, r26452, MPFR_RNDN);
        ;
        mpfr_pow(r26455, r26453, r26454, MPFR_RNDN);
        mpfr_cbrt(r26456, r26455, MPFR_RNDN);
        mpfr_div(r26457, r26456, r26445, MPFR_RNDN);
        ;
        mpfr_set_si(r26459, mpfr_cmp(r26457, r26458) <= 0, MPFR_RNDN);
        mpfr_div(r26460, r26445, r26435, MPFR_RNDN);
        ;
        mpfr_div(r26462, r26461, r26435, MPFR_RNDN);
        ;
        mpfr_sub(r26464, r26462, r26463, MPFR_RNDN);
        mpfr_mul(r26465, r26435, r26435, MPFR_RNDN);
        mpfr_div(r26466, r26464, r26465, MPFR_RNDN);
        mpfr_add(r26467, r26460, r26466, MPFR_RNDN);
        mpfr_div(r26468, r26467, r26445, MPFR_RNDN);
        if (mpfr_get_si(r26459, MPFR_RNDN)) { mpfr_set(r26469, r26468, MPFR_RNDN); } else { mpfr_set(r26469, r26457, MPFR_RNDN); };
        return mpfr_get_d(r26469, MPFR_RNDN);
}

