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

char *name = "quadp (p42, positive)";

double f_if(float a, float b, float c) {
        float r6214972 = b;
        float r6214973 = -r6214972;
        float r6214974 = r6214972 * r6214972;
        float r6214975 = 4;
        float r6214976 = a;
        float r6214977 = c;
        float r6214978 = r6214976 * r6214977;
        float r6214979 = r6214975 * r6214978;
        float r6214980 = r6214974 - r6214979;
        float r6214981 = sqrt(r6214980);
        float r6214982 = r6214973 + r6214981;
        float r6214983 = 2;
        float r6214984 = r6214983 * r6214976;
        float r6214985 = r6214982 / r6214984;
        return r6214985;
}

double f_id(double a, double b, double c) {
        double r6214986 = b;
        double r6214987 = -r6214986;
        double r6214988 = r6214986 * r6214986;
        double r6214989 = 4;
        double r6214990 = a;
        double r6214991 = c;
        double r6214992 = r6214990 * r6214991;
        double r6214993 = r6214989 * r6214992;
        double r6214994 = r6214988 - r6214993;
        double r6214995 = sqrt(r6214994);
        double r6214996 = r6214987 + r6214995;
        double r6214997 = 2;
        double r6214998 = r6214997 * r6214990;
        double r6214999 = r6214996 / r6214998;
        return r6214999;
}


double f_of(float a, float b, float c) {
        float r6215000 = b;
        float r6215001 = -7.728783917565007e+67;
        bool r6215002 = r6215000 <= r6215001;
        float r6215003 = c;
        float r6215004 = r6215003 / r6215000;
        float r6215005 = a;
        float r6215006 = r6215000 / r6215005;
        float r6215007 = r6215004 - r6215006;
        float r6215008 = 8.840200349339257e-269;
        bool r6215009 = r6215000 <= r6215008;
        float r6215010 = r6215000 * r6215000;
        float r6215011 = 4;
        float r6215012 = r6215003 * r6215005;
        float r6215013 = r6215011 * r6215012;
        float r6215014 = r6215010 - r6215013;
        float r6215015 = sqrt(r6215014);
        float r6215016 = -r6215000;
        float r6215017 = r6215015 + r6215016;
        float r6215018 = r6215005 + r6215005;
        float r6215019 = r6215017 / r6215018;
        float r6215020 = 1.9680113305877282e+47;
        bool r6215021 = r6215000 <= r6215020;
        float r6215022 = 2;
        float r6215023 = r6215011 / r6215022;
        float r6215024 = r6215003 * r6215023;
        float r6215025 = r6215016 - r6215015;
        float r6215026 = r6215024 / r6215025;
        float r6215027 = -2;
        float r6215028 = r6215022 / r6215027;
        float r6215029 = r6215004 / r6215028;
        float r6215030 = r6215021 ? r6215026 : r6215029;
        float r6215031 = r6215009 ? r6215019 : r6215030;
        float r6215032 = r6215002 ? r6215007 : r6215031;
        return r6215032;
}

double f_od(double a, double b, double c) {
        double r6215033 = b;
        double r6215034 = -7.728783917565007e+67;
        bool r6215035 = r6215033 <= r6215034;
        double r6215036 = c;
        double r6215037 = r6215036 / r6215033;
        double r6215038 = a;
        double r6215039 = r6215033 / r6215038;
        double r6215040 = r6215037 - r6215039;
        double r6215041 = 8.840200349339257e-269;
        bool r6215042 = r6215033 <= r6215041;
        double r6215043 = r6215033 * r6215033;
        double r6215044 = 4;
        double r6215045 = r6215036 * r6215038;
        double r6215046 = r6215044 * r6215045;
        double r6215047 = r6215043 - r6215046;
        double r6215048 = sqrt(r6215047);
        double r6215049 = -r6215033;
        double r6215050 = r6215048 + r6215049;
        double r6215051 = r6215038 + r6215038;
        double r6215052 = r6215050 / r6215051;
        double r6215053 = 1.9680113305877282e+47;
        bool r6215054 = r6215033 <= r6215053;
        double r6215055 = 2;
        double r6215056 = r6215044 / r6215055;
        double r6215057 = r6215036 * r6215056;
        double r6215058 = r6215049 - r6215048;
        double r6215059 = r6215057 / r6215058;
        double r6215060 = -2;
        double r6215061 = r6215055 / r6215060;
        double r6215062 = r6215037 / r6215061;
        double r6215063 = r6215054 ? r6215059 : r6215062;
        double r6215064 = r6215042 ? r6215052 : r6215063;
        double r6215065 = r6215035 ? r6215040 : r6215064;
        return r6215065;
}

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 r6215066, r6215067, r6215068, r6215069, r6215070, r6215071, r6215072, r6215073, r6215074, r6215075, r6215076, r6215077, r6215078, r6215079;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3472);
        mpfr_init(r6215066);
        mpfr_init(r6215067);
        mpfr_init(r6215068);
        mpfr_init_set_str(r6215069, "4", 10, MPFR_RNDN);
        mpfr_init(r6215070);
        mpfr_init(r6215071);
        mpfr_init(r6215072);
        mpfr_init(r6215073);
        mpfr_init(r6215074);
        mpfr_init(r6215075);
        mpfr_init(r6215076);
        mpfr_init_set_str(r6215077, "2", 10, MPFR_RNDN);
        mpfr_init(r6215078);
        mpfr_init(r6215079);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r6215066, b, MPFR_RNDN);
        mpfr_neg(r6215067, r6215066, MPFR_RNDN);
        mpfr_mul(r6215068, r6215066, r6215066, MPFR_RNDN);
        ;
        mpfr_set_d(r6215070, a, MPFR_RNDN);
        mpfr_set_d(r6215071, c, MPFR_RNDN);
        mpfr_mul(r6215072, r6215070, r6215071, MPFR_RNDN);
        mpfr_mul(r6215073, r6215069, r6215072, MPFR_RNDN);
        mpfr_sub(r6215074, r6215068, r6215073, MPFR_RNDN);
        mpfr_sqrt(r6215075, r6215074, MPFR_RNDN);
        mpfr_add(r6215076, r6215067, r6215075, MPFR_RNDN);
        ;
        mpfr_mul(r6215078, r6215077, r6215070, MPFR_RNDN);
        mpfr_div(r6215079, r6215076, r6215078, MPFR_RNDN);
        return mpfr_get_d(r6215079, MPFR_RNDN);
}

static mpfr_t r6215080, r6215081, r6215082, r6215083, r6215084, r6215085, r6215086, r6215087, r6215088, r6215089, r6215090, r6215091, r6215092, r6215093, r6215094, r6215095, r6215096, r6215097, r6215098, r6215099, r6215100, r6215101, r6215102, r6215103, r6215104, r6215105, r6215106, r6215107, r6215108, r6215109, r6215110, r6215111, r6215112;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3472);
        mpfr_init(r6215080);
        mpfr_init_set_str(r6215081, "-7.728783917565007e+67", 10, MPFR_RNDN);
        mpfr_init(r6215082);
        mpfr_init(r6215083);
        mpfr_init(r6215084);
        mpfr_init(r6215085);
        mpfr_init(r6215086);
        mpfr_init(r6215087);
        mpfr_init_set_str(r6215088, "8.840200349339257e-269", 10, MPFR_RNDN);
        mpfr_init(r6215089);
        mpfr_init(r6215090);
        mpfr_init_set_str(r6215091, "4", 10, MPFR_RNDN);
        mpfr_init(r6215092);
        mpfr_init(r6215093);
        mpfr_init(r6215094);
        mpfr_init(r6215095);
        mpfr_init(r6215096);
        mpfr_init(r6215097);
        mpfr_init(r6215098);
        mpfr_init(r6215099);
        mpfr_init_set_str(r6215100, "1.9680113305877282e+47", 10, MPFR_RNDN);
        mpfr_init(r6215101);
        mpfr_init_set_str(r6215102, "2", 10, MPFR_RNDN);
        mpfr_init(r6215103);
        mpfr_init(r6215104);
        mpfr_init(r6215105);
        mpfr_init(r6215106);
        mpfr_init_set_str(r6215107, "-2", 10, MPFR_RNDN);
        mpfr_init(r6215108);
        mpfr_init(r6215109);
        mpfr_init(r6215110);
        mpfr_init(r6215111);
        mpfr_init(r6215112);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r6215080, b, MPFR_RNDN);
        ;
        mpfr_set_si(r6215082, mpfr_cmp(r6215080, r6215081) <= 0, MPFR_RNDN);
        mpfr_set_d(r6215083, c, MPFR_RNDN);
        mpfr_div(r6215084, r6215083, r6215080, MPFR_RNDN);
        mpfr_set_d(r6215085, a, MPFR_RNDN);
        mpfr_div(r6215086, r6215080, r6215085, MPFR_RNDN);
        mpfr_sub(r6215087, r6215084, r6215086, MPFR_RNDN);
        ;
        mpfr_set_si(r6215089, mpfr_cmp(r6215080, r6215088) <= 0, MPFR_RNDN);
        mpfr_mul(r6215090, r6215080, r6215080, MPFR_RNDN);
        ;
        mpfr_mul(r6215092, r6215083, r6215085, MPFR_RNDN);
        mpfr_mul(r6215093, r6215091, r6215092, MPFR_RNDN);
        mpfr_sub(r6215094, r6215090, r6215093, MPFR_RNDN);
        mpfr_sqrt(r6215095, r6215094, MPFR_RNDN);
        mpfr_neg(r6215096, r6215080, MPFR_RNDN);
        mpfr_add(r6215097, r6215095, r6215096, MPFR_RNDN);
        mpfr_add(r6215098, r6215085, r6215085, MPFR_RNDN);
        mpfr_div(r6215099, r6215097, r6215098, MPFR_RNDN);
        ;
        mpfr_set_si(r6215101, mpfr_cmp(r6215080, r6215100) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r6215103, r6215091, r6215102, MPFR_RNDN);
        mpfr_mul(r6215104, r6215083, r6215103, MPFR_RNDN);
        mpfr_sub(r6215105, r6215096, r6215095, MPFR_RNDN);
        mpfr_div(r6215106, r6215104, r6215105, MPFR_RNDN);
        ;
        mpfr_div(r6215108, r6215102, r6215107, MPFR_RNDN);
        mpfr_div(r6215109, r6215084, r6215108, MPFR_RNDN);
        if (mpfr_get_si(r6215101, MPFR_RNDN)) { mpfr_set(r6215110, r6215106, MPFR_RNDN); } else { mpfr_set(r6215110, r6215109, MPFR_RNDN); };
        if (mpfr_get_si(r6215089, MPFR_RNDN)) { mpfr_set(r6215111, r6215099, MPFR_RNDN); } else { mpfr_set(r6215111, r6215110, MPFR_RNDN); };
        if (mpfr_get_si(r6215082, MPFR_RNDN)) { mpfr_set(r6215112, r6215087, MPFR_RNDN); } else { mpfr_set(r6215112, r6215111, MPFR_RNDN); };
        return mpfr_get_d(r6215112, MPFR_RNDN);
}

static mpfr_t r6215113, r6215114, r6215115, r6215116, r6215117, r6215118, r6215119, r6215120, r6215121, r6215122, r6215123, r6215124, r6215125, r6215126, r6215127, r6215128, r6215129, r6215130, r6215131, r6215132, r6215133, r6215134, r6215135, r6215136, r6215137, r6215138, r6215139, r6215140, r6215141, r6215142, r6215143, r6215144, r6215145;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3472);
        mpfr_init(r6215113);
        mpfr_init_set_str(r6215114, "-7.728783917565007e+67", 10, MPFR_RNDN);
        mpfr_init(r6215115);
        mpfr_init(r6215116);
        mpfr_init(r6215117);
        mpfr_init(r6215118);
        mpfr_init(r6215119);
        mpfr_init(r6215120);
        mpfr_init_set_str(r6215121, "8.840200349339257e-269", 10, MPFR_RNDN);
        mpfr_init(r6215122);
        mpfr_init(r6215123);
        mpfr_init_set_str(r6215124, "4", 10, MPFR_RNDN);
        mpfr_init(r6215125);
        mpfr_init(r6215126);
        mpfr_init(r6215127);
        mpfr_init(r6215128);
        mpfr_init(r6215129);
        mpfr_init(r6215130);
        mpfr_init(r6215131);
        mpfr_init(r6215132);
        mpfr_init_set_str(r6215133, "1.9680113305877282e+47", 10, MPFR_RNDN);
        mpfr_init(r6215134);
        mpfr_init_set_str(r6215135, "2", 10, MPFR_RNDN);
        mpfr_init(r6215136);
        mpfr_init(r6215137);
        mpfr_init(r6215138);
        mpfr_init(r6215139);
        mpfr_init_set_str(r6215140, "-2", 10, MPFR_RNDN);
        mpfr_init(r6215141);
        mpfr_init(r6215142);
        mpfr_init(r6215143);
        mpfr_init(r6215144);
        mpfr_init(r6215145);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r6215113, b, MPFR_RNDN);
        ;
        mpfr_set_si(r6215115, mpfr_cmp(r6215113, r6215114) <= 0, MPFR_RNDN);
        mpfr_set_d(r6215116, c, MPFR_RNDN);
        mpfr_div(r6215117, r6215116, r6215113, MPFR_RNDN);
        mpfr_set_d(r6215118, a, MPFR_RNDN);
        mpfr_div(r6215119, r6215113, r6215118, MPFR_RNDN);
        mpfr_sub(r6215120, r6215117, r6215119, MPFR_RNDN);
        ;
        mpfr_set_si(r6215122, mpfr_cmp(r6215113, r6215121) <= 0, MPFR_RNDN);
        mpfr_mul(r6215123, r6215113, r6215113, MPFR_RNDN);
        ;
        mpfr_mul(r6215125, r6215116, r6215118, MPFR_RNDN);
        mpfr_mul(r6215126, r6215124, r6215125, MPFR_RNDN);
        mpfr_sub(r6215127, r6215123, r6215126, MPFR_RNDN);
        mpfr_sqrt(r6215128, r6215127, MPFR_RNDN);
        mpfr_neg(r6215129, r6215113, MPFR_RNDN);
        mpfr_add(r6215130, r6215128, r6215129, MPFR_RNDN);
        mpfr_add(r6215131, r6215118, r6215118, MPFR_RNDN);
        mpfr_div(r6215132, r6215130, r6215131, MPFR_RNDN);
        ;
        mpfr_set_si(r6215134, mpfr_cmp(r6215113, r6215133) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r6215136, r6215124, r6215135, MPFR_RNDN);
        mpfr_mul(r6215137, r6215116, r6215136, MPFR_RNDN);
        mpfr_sub(r6215138, r6215129, r6215128, MPFR_RNDN);
        mpfr_div(r6215139, r6215137, r6215138, MPFR_RNDN);
        ;
        mpfr_div(r6215141, r6215135, r6215140, MPFR_RNDN);
        mpfr_div(r6215142, r6215117, r6215141, MPFR_RNDN);
        if (mpfr_get_si(r6215134, MPFR_RNDN)) { mpfr_set(r6215143, r6215139, MPFR_RNDN); } else { mpfr_set(r6215143, r6215142, MPFR_RNDN); };
        if (mpfr_get_si(r6215122, MPFR_RNDN)) { mpfr_set(r6215144, r6215132, MPFR_RNDN); } else { mpfr_set(r6215144, r6215143, MPFR_RNDN); };
        if (mpfr_get_si(r6215115, MPFR_RNDN)) { mpfr_set(r6215145, r6215120, MPFR_RNDN); } else { mpfr_set(r6215145, r6215144, MPFR_RNDN); };
        return mpfr_get_d(r6215145, MPFR_RNDN);
}

