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

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

double f_if(float alpha, float beta) {
        float r17144 = alpha;
        float r17145 = beta;
        float r17146 = r17144 + r17145;
        float r17147 = r17145 * r17144;
        float r17148 = r17146 + r17147;
        float r17149 = 1.0f;
        float r17150 = r17148 + r17149;
        float r17151 = 2.0f;
        float r17152 = 1.0f;
        float r17153 = r17151 * r17152;
        float r17154 = r17146 + r17153;
        float r17155 = r17150 / r17154;
        float r17156 = r17155 / r17154;
        float r17157 = r17154 + r17149;
        float r17158 = r17156 / r17157;
        return r17158;
}

double f_id(double alpha, double beta) {
        double r17159 = alpha;
        double r17160 = beta;
        double r17161 = r17159 + r17160;
        double r17162 = r17160 * r17159;
        double r17163 = r17161 + r17162;
        double r17164 = 1.0;
        double r17165 = r17163 + r17164;
        double r17166 = 2.0;
        double r17167 = 1.0;
        double r17168 = r17166 * r17167;
        double r17169 = r17161 + r17168;
        double r17170 = r17165 / r17169;
        double r17171 = r17170 / r17169;
        double r17172 = r17169 + r17164;
        double r17173 = r17171 / r17172;
        return r17173;
}


double f_of(float alpha, float beta) {
        float r17174 = 1.0f;
        float r17175 = beta;
        float r17176 = 1.0f;
        float r17177 = r17175 + r17176;
        float r17178 = alpha;
        float r17179 = 2.0f;
        float r17180 = r17178 + r17179;
        float r17181 = r17177 + r17180;
        float r17182 = r17174 / r17181;
        float r17183 = r17178 + r17176;
        float r17184 = r17175 * r17178;
        float r17185 = r17175 + r17184;
        float r17186 = r17183 + r17185;
        float r17187 = r17179 + r17175;
        float r17188 = r17178 + r17187;
        float r17189 = r17186 / r17188;
        float r17190 = r17189 / r17188;
        float r17191 = r17182 * r17190;
        return r17191;
}

double f_od(double alpha, double beta) {
        double r17192 = 1.0;
        double r17193 = beta;
        double r17194 = 1.0;
        double r17195 = r17193 + r17194;
        double r17196 = alpha;
        double r17197 = 2.0;
        double r17198 = r17196 + r17197;
        double r17199 = r17195 + r17198;
        double r17200 = r17192 / r17199;
        double r17201 = r17196 + r17194;
        double r17202 = r17193 * r17196;
        double r17203 = r17193 + r17202;
        double r17204 = r17201 + r17203;
        double r17205 = r17197 + r17193;
        double r17206 = r17196 + r17205;
        double r17207 = r17204 / r17206;
        double r17208 = r17207 / r17206;
        double r17209 = r17200 * r17208;
        return r17209;
}

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 r17210, r17211, r17212, r17213, r17214, r17215, r17216, r17217, r17218, r17219, r17220, r17221, r17222, r17223, r17224;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r17210);
        mpfr_init(r17211);
        mpfr_init(r17212);
        mpfr_init(r17213);
        mpfr_init(r17214);
        mpfr_init_set_str(r17215, "1.0", 10, MPFR_RNDN);
        mpfr_init(r17216);
        mpfr_init_set_str(r17217, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r17218, "1", 10, MPFR_RNDN);
        mpfr_init(r17219);
        mpfr_init(r17220);
        mpfr_init(r17221);
        mpfr_init(r17222);
        mpfr_init(r17223);
        mpfr_init(r17224);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r17210, alpha, MPFR_RNDN);
        mpfr_set_d(r17211, beta, MPFR_RNDN);
        mpfr_add(r17212, r17210, r17211, MPFR_RNDN);
        mpfr_mul(r17213, r17211, r17210, MPFR_RNDN);
        mpfr_add(r17214, r17212, r17213, MPFR_RNDN);
        ;
        mpfr_add(r17216, r17214, r17215, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r17219, r17217, r17218, MPFR_RNDN);
        mpfr_add(r17220, r17212, r17219, MPFR_RNDN);
        mpfr_div(r17221, r17216, r17220, MPFR_RNDN);
        mpfr_div(r17222, r17221, r17220, MPFR_RNDN);
        mpfr_add(r17223, r17220, r17215, MPFR_RNDN);
        mpfr_div(r17224, r17222, r17223, MPFR_RNDN);
        return mpfr_get_d(r17224, MPFR_RNDN);
}

static mpfr_t r17225, r17226, r17227, r17228, r17229, r17230, r17231, r17232, r17233, r17234, r17235, r17236, r17237, r17238, r17239, r17240, r17241, r17242;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r17225, "1", 10, MPFR_RNDN);
        mpfr_init(r17226);
        mpfr_init_set_str(r17227, "1.0", 10, MPFR_RNDN);
        mpfr_init(r17228);
        mpfr_init(r17229);
        mpfr_init_set_str(r17230, "2", 10, MPFR_RNDN);
        mpfr_init(r17231);
        mpfr_init(r17232);
        mpfr_init(r17233);
        mpfr_init(r17234);
        mpfr_init(r17235);
        mpfr_init(r17236);
        mpfr_init(r17237);
        mpfr_init(r17238);
        mpfr_init(r17239);
        mpfr_init(r17240);
        mpfr_init(r17241);
        mpfr_init(r17242);
}

double f_fm(double alpha, double beta) {
        ;
        mpfr_set_d(r17226, beta, MPFR_RNDN);
        ;
        mpfr_add(r17228, r17226, r17227, MPFR_RNDN);
        mpfr_set_d(r17229, alpha, MPFR_RNDN);
        ;
        mpfr_add(r17231, r17229, r17230, MPFR_RNDN);
        mpfr_add(r17232, r17228, r17231, MPFR_RNDN);
        mpfr_div(r17233, r17225, r17232, MPFR_RNDN);
        mpfr_add(r17234, r17229, r17227, MPFR_RNDN);
        mpfr_mul(r17235, r17226, r17229, MPFR_RNDN);
        mpfr_add(r17236, r17226, r17235, MPFR_RNDN);
        mpfr_add(r17237, r17234, r17236, MPFR_RNDN);
        mpfr_add(r17238, r17230, r17226, MPFR_RNDN);
        mpfr_add(r17239, r17229, r17238, MPFR_RNDN);
        mpfr_div(r17240, r17237, r17239, MPFR_RNDN);
        mpfr_div(r17241, r17240, r17239, MPFR_RNDN);
        mpfr_mul(r17242, r17233, r17241, MPFR_RNDN);
        return mpfr_get_d(r17242, MPFR_RNDN);
}

static mpfr_t r17243, r17244, r17245, r17246, r17247, r17248, r17249, r17250, r17251, r17252, r17253, r17254, r17255, r17256, r17257, r17258, r17259, r17260;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r17243, "1", 10, MPFR_RNDN);
        mpfr_init(r17244);
        mpfr_init_set_str(r17245, "1.0", 10, MPFR_RNDN);
        mpfr_init(r17246);
        mpfr_init(r17247);
        mpfr_init_set_str(r17248, "2", 10, MPFR_RNDN);
        mpfr_init(r17249);
        mpfr_init(r17250);
        mpfr_init(r17251);
        mpfr_init(r17252);
        mpfr_init(r17253);
        mpfr_init(r17254);
        mpfr_init(r17255);
        mpfr_init(r17256);
        mpfr_init(r17257);
        mpfr_init(r17258);
        mpfr_init(r17259);
        mpfr_init(r17260);
}

double f_dm(double alpha, double beta) {
        ;
        mpfr_set_d(r17244, beta, MPFR_RNDN);
        ;
        mpfr_add(r17246, r17244, r17245, MPFR_RNDN);
        mpfr_set_d(r17247, alpha, MPFR_RNDN);
        ;
        mpfr_add(r17249, r17247, r17248, MPFR_RNDN);
        mpfr_add(r17250, r17246, r17249, MPFR_RNDN);
        mpfr_div(r17251, r17243, r17250, MPFR_RNDN);
        mpfr_add(r17252, r17247, r17245, MPFR_RNDN);
        mpfr_mul(r17253, r17244, r17247, MPFR_RNDN);
        mpfr_add(r17254, r17244, r17253, MPFR_RNDN);
        mpfr_add(r17255, r17252, r17254, MPFR_RNDN);
        mpfr_add(r17256, r17248, r17244, MPFR_RNDN);
        mpfr_add(r17257, r17247, r17256, MPFR_RNDN);
        mpfr_div(r17258, r17255, r17257, MPFR_RNDN);
        mpfr_div(r17259, r17258, r17257, MPFR_RNDN);
        mpfr_mul(r17260, r17251, r17259, MPFR_RNDN);
        return mpfr_get_d(r17260, MPFR_RNDN);
}

