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

char *name = "jeff quadratic root 2";

double f_if(float a, float b, float c) {
        float r19840 = b;
        float r19841 = 0;
        bool r19842 = r19840 >= r19841;
        float r19843 = 2;
        float r19844 = c;
        float r19845 = r19843 * r19844;
        float r19846 = -r19840;
        float r19847 = r19840 * r19840;
        float r19848 = 4;
        float r19849 = a;
        float r19850 = r19848 * r19849;
        float r19851 = r19850 * r19844;
        float r19852 = r19847 - r19851;
        float r19853 = sqrt(r19852);
        float r19854 = r19846 - r19853;
        float r19855 = r19845 / r19854;
        float r19856 = r19846 + r19853;
        float r19857 = r19843 * r19849;
        float r19858 = r19856 / r19857;
        float r19859 = r19842 ? r19855 : r19858;
        return r19859;
}

double f_id(double a, double b, double c) {
        double r19860 = b;
        double r19861 = 0;
        bool r19862 = r19860 >= r19861;
        double r19863 = 2;
        double r19864 = c;
        double r19865 = r19863 * r19864;
        double r19866 = -r19860;
        double r19867 = r19860 * r19860;
        double r19868 = 4;
        double r19869 = a;
        double r19870 = r19868 * r19869;
        double r19871 = r19870 * r19864;
        double r19872 = r19867 - r19871;
        double r19873 = sqrt(r19872);
        double r19874 = r19866 - r19873;
        double r19875 = r19865 / r19874;
        double r19876 = r19866 + r19873;
        double r19877 = r19863 * r19869;
        double r19878 = r19876 / r19877;
        double r19879 = r19862 ? r19875 : r19878;
        return r19879;
}


double f_of(float a, float b, float c) {
        float r19880 = b;
        float r19881 = -1.4403352106256782e+109;
        bool r19882 = r19880 <= r19881;
        float r19883 = 0;
        bool r19884 = r19880 >= r19883;
        float r19885 = c;
        float r19886 = r19885 + r19885;
        float r19887 = -r19880;
        float r19888 = r19880 * r19880;
        float r19889 = a;
        float r19890 = r19889 * r19885;
        float r19891 = 4;
        float r19892 = r19890 * r19891;
        float r19893 = r19888 - r19892;
        float r19894 = sqrt(r19893);
        float r19895 = r19887 - r19894;
        float r19896 = r19886 / r19895;
        float r19897 = r19885 / r19880;
        float r19898 = r19880 - r19887;
        float r19899 = r19889 + r19889;
        float r19900 = r19898 / r19899;
        float r19901 = r19897 - r19900;
        float r19902 = r19884 ? r19896 : r19901;
        float r19903 = 1.9633433623178084e+123;
        bool r19904 = r19880 <= r19903;
        float r19905 = 2;
        float r19906 = r19905 * r19885;
        float r19907 = r19891 * r19889;
        float r19908 = r19907 * r19885;
        float r19909 = r19888 - r19908;
        float r19910 = sqrt(r19909);
        float r19911 = r19887 - r19910;
        float r19912 = r19906 / r19911;
        float r19913 = sqrt(r19910);
        float r19914 = r19913 * r19913;
        float r19915 = r19887 + r19914;
        float r19916 = r19905 * r19889;
        float r19917 = r19915 / r19916;
        float r19918 = r19884 ? r19912 : r19917;
        float r19919 = r19889 / r19880;
        float r19920 = r19885 * r19919;
        float r19921 = cbrt(r19920);
        float r19922 = r19921 * r19921;
        float r19923 = cbrt(r19921);
        float r19924 = r19923 * r19923;
        float r19925 = r19924 * r19923;
        float r19926 = r19922 * r19925;
        float r19927 = r19926 - r19880;
        float r19928 = r19885 / r19927;
        float r19929 = r19887 + r19910;
        float r19930 = r19929 / r19899;
        float r19931 = r19884 ? r19928 : r19930;
        float r19932 = r19904 ? r19918 : r19931;
        float r19933 = r19882 ? r19902 : r19932;
        return r19933;
}

double f_od(double a, double b, double c) {
        double r19934 = b;
        double r19935 = -1.4403352106256782e+109;
        bool r19936 = r19934 <= r19935;
        double r19937 = 0;
        bool r19938 = r19934 >= r19937;
        double r19939 = c;
        double r19940 = r19939 + r19939;
        double r19941 = -r19934;
        double r19942 = r19934 * r19934;
        double r19943 = a;
        double r19944 = r19943 * r19939;
        double r19945 = 4;
        double r19946 = r19944 * r19945;
        double r19947 = r19942 - r19946;
        double r19948 = sqrt(r19947);
        double r19949 = r19941 - r19948;
        double r19950 = r19940 / r19949;
        double r19951 = r19939 / r19934;
        double r19952 = r19934 - r19941;
        double r19953 = r19943 + r19943;
        double r19954 = r19952 / r19953;
        double r19955 = r19951 - r19954;
        double r19956 = r19938 ? r19950 : r19955;
        double r19957 = 1.9633433623178084e+123;
        bool r19958 = r19934 <= r19957;
        double r19959 = 2;
        double r19960 = r19959 * r19939;
        double r19961 = r19945 * r19943;
        double r19962 = r19961 * r19939;
        double r19963 = r19942 - r19962;
        double r19964 = sqrt(r19963);
        double r19965 = r19941 - r19964;
        double r19966 = r19960 / r19965;
        double r19967 = sqrt(r19964);
        double r19968 = r19967 * r19967;
        double r19969 = r19941 + r19968;
        double r19970 = r19959 * r19943;
        double r19971 = r19969 / r19970;
        double r19972 = r19938 ? r19966 : r19971;
        double r19973 = r19943 / r19934;
        double r19974 = r19939 * r19973;
        double r19975 = cbrt(r19974);
        double r19976 = r19975 * r19975;
        double r19977 = cbrt(r19975);
        double r19978 = r19977 * r19977;
        double r19979 = r19978 * r19977;
        double r19980 = r19976 * r19979;
        double r19981 = r19980 - r19934;
        double r19982 = r19939 / r19981;
        double r19983 = r19941 + r19964;
        double r19984 = r19983 / r19953;
        double r19985 = r19938 ? r19982 : r19984;
        double r19986 = r19958 ? r19972 : r19985;
        double r19987 = r19936 ? r19956 : r19986;
        return r19987;
}

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 r19988, r19989, r19990, r19991, r19992, r19993, r19994, r19995, r19996, r19997, r19998, r19999, r20000, r20001, r20002, r20003, r20004, r20005, r20006, r20007;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r19988);
        mpfr_init_set_str(r19989, "0", 10, MPFR_RNDN);
        mpfr_init(r19990);
        mpfr_init_set_str(r19991, "2", 10, MPFR_RNDN);
        mpfr_init(r19992);
        mpfr_init(r19993);
        mpfr_init(r19994);
        mpfr_init(r19995);
        mpfr_init_set_str(r19996, "4", 10, MPFR_RNDN);
        mpfr_init(r19997);
        mpfr_init(r19998);
        mpfr_init(r19999);
        mpfr_init(r20000);
        mpfr_init(r20001);
        mpfr_init(r20002);
        mpfr_init(r20003);
        mpfr_init(r20004);
        mpfr_init(r20005);
        mpfr_init(r20006);
        mpfr_init(r20007);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r19988, b, MPFR_RNDN);
        ;
        mpfr_set_si(r19990, mpfr_cmp(r19988, r19989) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r19992, c, MPFR_RNDN);
        mpfr_mul(r19993, r19991, r19992, MPFR_RNDN);
        mpfr_neg(r19994, r19988, MPFR_RNDN);
        mpfr_mul(r19995, r19988, r19988, MPFR_RNDN);
        ;
        mpfr_set_d(r19997, a, MPFR_RNDN);
        mpfr_mul(r19998, r19996, r19997, MPFR_RNDN);
        mpfr_mul(r19999, r19998, r19992, MPFR_RNDN);
        mpfr_sub(r20000, r19995, r19999, MPFR_RNDN);
        mpfr_sqrt(r20001, r20000, MPFR_RNDN);
        mpfr_sub(r20002, r19994, r20001, MPFR_RNDN);
        mpfr_div(r20003, r19993, r20002, MPFR_RNDN);
        mpfr_add(r20004, r19994, r20001, MPFR_RNDN);
        mpfr_mul(r20005, r19991, r19997, MPFR_RNDN);
        mpfr_div(r20006, r20004, r20005, MPFR_RNDN);
        if (mpfr_get_si(r19990, MPFR_RNDN)) { mpfr_set(r20007, r20003, MPFR_RNDN); } else { mpfr_set(r20007, r20006, MPFR_RNDN); };
        return mpfr_get_d(r20007, MPFR_RNDN);
}

static mpfr_t r20008, r20009, r20010, r20011, r20012, r20013, r20014, r20015, r20016, r20017, r20018, r20019, r20020, r20021, r20022, r20023, r20024, r20025, r20026, r20027, r20028, r20029, r20030, r20031, r20032, r20033, r20034, r20035, r20036, r20037, r20038, r20039, r20040, r20041, r20042, r20043, r20044, r20045, r20046, r20047, r20048, r20049, r20050, r20051, r20052, r20053, r20054, r20055, r20056, r20057, r20058, r20059, r20060, r20061;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r20008);
        mpfr_init_set_str(r20009, "-1.4403352106256782e+109", 10, MPFR_RNDN);
        mpfr_init(r20010);
        mpfr_init_set_str(r20011, "0", 10, MPFR_RNDN);
        mpfr_init(r20012);
        mpfr_init(r20013);
        mpfr_init(r20014);
        mpfr_init(r20015);
        mpfr_init(r20016);
        mpfr_init(r20017);
        mpfr_init(r20018);
        mpfr_init_set_str(r20019, "4", 10, MPFR_RNDN);
        mpfr_init(r20020);
        mpfr_init(r20021);
        mpfr_init(r20022);
        mpfr_init(r20023);
        mpfr_init(r20024);
        mpfr_init(r20025);
        mpfr_init(r20026);
        mpfr_init(r20027);
        mpfr_init(r20028);
        mpfr_init(r20029);
        mpfr_init(r20030);
        mpfr_init_set_str(r20031, "1.9633433623178084e+123", 10, MPFR_RNDN);
        mpfr_init(r20032);
        mpfr_init_set_str(r20033, "2", 10, MPFR_RNDN);
        mpfr_init(r20034);
        mpfr_init(r20035);
        mpfr_init(r20036);
        mpfr_init(r20037);
        mpfr_init(r20038);
        mpfr_init(r20039);
        mpfr_init(r20040);
        mpfr_init(r20041);
        mpfr_init(r20042);
        mpfr_init(r20043);
        mpfr_init(r20044);
        mpfr_init(r20045);
        mpfr_init(r20046);
        mpfr_init(r20047);
        mpfr_init(r20048);
        mpfr_init(r20049);
        mpfr_init(r20050);
        mpfr_init(r20051);
        mpfr_init(r20052);
        mpfr_init(r20053);
        mpfr_init(r20054);
        mpfr_init(r20055);
        mpfr_init(r20056);
        mpfr_init(r20057);
        mpfr_init(r20058);
        mpfr_init(r20059);
        mpfr_init(r20060);
        mpfr_init(r20061);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r20008, b, MPFR_RNDN);
        ;
        mpfr_set_si(r20010, mpfr_cmp(r20008, r20009) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r20012, mpfr_cmp(r20008, r20011) >= 0, MPFR_RNDN);
        mpfr_set_d(r20013, c, MPFR_RNDN);
        mpfr_add(r20014, r20013, r20013, MPFR_RNDN);
        mpfr_neg(r20015, r20008, MPFR_RNDN);
        mpfr_mul(r20016, r20008, r20008, MPFR_RNDN);
        mpfr_set_d(r20017, a, MPFR_RNDN);
        mpfr_mul(r20018, r20017, r20013, MPFR_RNDN);
        ;
        mpfr_mul(r20020, r20018, r20019, MPFR_RNDN);
        mpfr_sub(r20021, r20016, r20020, MPFR_RNDN);
        mpfr_sqrt(r20022, r20021, MPFR_RNDN);
        mpfr_sub(r20023, r20015, r20022, MPFR_RNDN);
        mpfr_div(r20024, r20014, r20023, MPFR_RNDN);
        mpfr_div(r20025, r20013, r20008, MPFR_RNDN);
        mpfr_sub(r20026, r20008, r20015, MPFR_RNDN);
        mpfr_add(r20027, r20017, r20017, MPFR_RNDN);
        mpfr_div(r20028, r20026, r20027, MPFR_RNDN);
        mpfr_sub(r20029, r20025, r20028, MPFR_RNDN);
        if (mpfr_get_si(r20012, MPFR_RNDN)) { mpfr_set(r20030, r20024, MPFR_RNDN); } else { mpfr_set(r20030, r20029, MPFR_RNDN); };
        ;
        mpfr_set_si(r20032, mpfr_cmp(r20008, r20031) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r20034, r20033, r20013, MPFR_RNDN);
        mpfr_mul(r20035, r20019, r20017, MPFR_RNDN);
        mpfr_mul(r20036, r20035, r20013, MPFR_RNDN);
        mpfr_sub(r20037, r20016, r20036, MPFR_RNDN);
        mpfr_sqrt(r20038, r20037, MPFR_RNDN);
        mpfr_sub(r20039, r20015, r20038, MPFR_RNDN);
        mpfr_div(r20040, r20034, r20039, MPFR_RNDN);
        mpfr_sqrt(r20041, r20038, MPFR_RNDN);
        mpfr_mul(r20042, r20041, r20041, MPFR_RNDN);
        mpfr_add(r20043, r20015, r20042, MPFR_RNDN);
        mpfr_mul(r20044, r20033, r20017, MPFR_RNDN);
        mpfr_div(r20045, r20043, r20044, MPFR_RNDN);
        if (mpfr_get_si(r20012, MPFR_RNDN)) { mpfr_set(r20046, r20040, MPFR_RNDN); } else { mpfr_set(r20046, r20045, MPFR_RNDN); };
        mpfr_div(r20047, r20017, r20008, MPFR_RNDN);
        mpfr_mul(r20048, r20013, r20047, MPFR_RNDN);
        mpfr_cbrt(r20049, r20048, MPFR_RNDN);
        mpfr_mul(r20050, r20049, r20049, MPFR_RNDN);
        mpfr_cbrt(r20051, r20049, MPFR_RNDN);
        mpfr_mul(r20052, r20051, r20051, MPFR_RNDN);
        mpfr_mul(r20053, r20052, r20051, MPFR_RNDN);
        mpfr_mul(r20054, r20050, r20053, MPFR_RNDN);
        mpfr_sub(r20055, r20054, r20008, MPFR_RNDN);
        mpfr_div(r20056, r20013, r20055, MPFR_RNDN);
        mpfr_add(r20057, r20015, r20038, MPFR_RNDN);
        mpfr_div(r20058, r20057, r20027, MPFR_RNDN);
        if (mpfr_get_si(r20012, MPFR_RNDN)) { mpfr_set(r20059, r20056, MPFR_RNDN); } else { mpfr_set(r20059, r20058, MPFR_RNDN); };
        if (mpfr_get_si(r20032, MPFR_RNDN)) { mpfr_set(r20060, r20046, MPFR_RNDN); } else { mpfr_set(r20060, r20059, MPFR_RNDN); };
        if (mpfr_get_si(r20010, MPFR_RNDN)) { mpfr_set(r20061, r20030, MPFR_RNDN); } else { mpfr_set(r20061, r20060, MPFR_RNDN); };
        return mpfr_get_d(r20061, MPFR_RNDN);
}

static mpfr_t r20062, r20063, r20064, r20065, r20066, r20067, r20068, r20069, r20070, r20071, r20072, r20073, r20074, r20075, r20076, r20077, r20078, r20079, r20080, r20081, r20082, r20083, r20084, r20085, r20086, r20087, r20088, r20089, r20090, r20091, r20092, r20093, r20094, r20095, r20096, r20097, r20098, r20099, r20100, r20101, r20102, r20103, r20104, r20105, r20106, r20107, r20108, r20109, r20110, r20111, r20112, r20113, r20114, r20115;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r20062);
        mpfr_init_set_str(r20063, "-1.4403352106256782e+109", 10, MPFR_RNDN);
        mpfr_init(r20064);
        mpfr_init_set_str(r20065, "0", 10, MPFR_RNDN);
        mpfr_init(r20066);
        mpfr_init(r20067);
        mpfr_init(r20068);
        mpfr_init(r20069);
        mpfr_init(r20070);
        mpfr_init(r20071);
        mpfr_init(r20072);
        mpfr_init_set_str(r20073, "4", 10, MPFR_RNDN);
        mpfr_init(r20074);
        mpfr_init(r20075);
        mpfr_init(r20076);
        mpfr_init(r20077);
        mpfr_init(r20078);
        mpfr_init(r20079);
        mpfr_init(r20080);
        mpfr_init(r20081);
        mpfr_init(r20082);
        mpfr_init(r20083);
        mpfr_init(r20084);
        mpfr_init_set_str(r20085, "1.9633433623178084e+123", 10, MPFR_RNDN);
        mpfr_init(r20086);
        mpfr_init_set_str(r20087, "2", 10, MPFR_RNDN);
        mpfr_init(r20088);
        mpfr_init(r20089);
        mpfr_init(r20090);
        mpfr_init(r20091);
        mpfr_init(r20092);
        mpfr_init(r20093);
        mpfr_init(r20094);
        mpfr_init(r20095);
        mpfr_init(r20096);
        mpfr_init(r20097);
        mpfr_init(r20098);
        mpfr_init(r20099);
        mpfr_init(r20100);
        mpfr_init(r20101);
        mpfr_init(r20102);
        mpfr_init(r20103);
        mpfr_init(r20104);
        mpfr_init(r20105);
        mpfr_init(r20106);
        mpfr_init(r20107);
        mpfr_init(r20108);
        mpfr_init(r20109);
        mpfr_init(r20110);
        mpfr_init(r20111);
        mpfr_init(r20112);
        mpfr_init(r20113);
        mpfr_init(r20114);
        mpfr_init(r20115);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r20062, b, MPFR_RNDN);
        ;
        mpfr_set_si(r20064, mpfr_cmp(r20062, r20063) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r20066, mpfr_cmp(r20062, r20065) >= 0, MPFR_RNDN);
        mpfr_set_d(r20067, c, MPFR_RNDN);
        mpfr_add(r20068, r20067, r20067, MPFR_RNDN);
        mpfr_neg(r20069, r20062, MPFR_RNDN);
        mpfr_mul(r20070, r20062, r20062, MPFR_RNDN);
        mpfr_set_d(r20071, a, MPFR_RNDN);
        mpfr_mul(r20072, r20071, r20067, MPFR_RNDN);
        ;
        mpfr_mul(r20074, r20072, r20073, MPFR_RNDN);
        mpfr_sub(r20075, r20070, r20074, MPFR_RNDN);
        mpfr_sqrt(r20076, r20075, MPFR_RNDN);
        mpfr_sub(r20077, r20069, r20076, MPFR_RNDN);
        mpfr_div(r20078, r20068, r20077, MPFR_RNDN);
        mpfr_div(r20079, r20067, r20062, MPFR_RNDN);
        mpfr_sub(r20080, r20062, r20069, MPFR_RNDN);
        mpfr_add(r20081, r20071, r20071, MPFR_RNDN);
        mpfr_div(r20082, r20080, r20081, MPFR_RNDN);
        mpfr_sub(r20083, r20079, r20082, MPFR_RNDN);
        if (mpfr_get_si(r20066, MPFR_RNDN)) { mpfr_set(r20084, r20078, MPFR_RNDN); } else { mpfr_set(r20084, r20083, MPFR_RNDN); };
        ;
        mpfr_set_si(r20086, mpfr_cmp(r20062, r20085) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r20088, r20087, r20067, MPFR_RNDN);
        mpfr_mul(r20089, r20073, r20071, MPFR_RNDN);
        mpfr_mul(r20090, r20089, r20067, MPFR_RNDN);
        mpfr_sub(r20091, r20070, r20090, MPFR_RNDN);
        mpfr_sqrt(r20092, r20091, MPFR_RNDN);
        mpfr_sub(r20093, r20069, r20092, MPFR_RNDN);
        mpfr_div(r20094, r20088, r20093, MPFR_RNDN);
        mpfr_sqrt(r20095, r20092, MPFR_RNDN);
        mpfr_mul(r20096, r20095, r20095, MPFR_RNDN);
        mpfr_add(r20097, r20069, r20096, MPFR_RNDN);
        mpfr_mul(r20098, r20087, r20071, MPFR_RNDN);
        mpfr_div(r20099, r20097, r20098, MPFR_RNDN);
        if (mpfr_get_si(r20066, MPFR_RNDN)) { mpfr_set(r20100, r20094, MPFR_RNDN); } else { mpfr_set(r20100, r20099, MPFR_RNDN); };
        mpfr_div(r20101, r20071, r20062, MPFR_RNDN);
        mpfr_mul(r20102, r20067, r20101, MPFR_RNDN);
        mpfr_cbrt(r20103, r20102, MPFR_RNDN);
        mpfr_mul(r20104, r20103, r20103, MPFR_RNDN);
        mpfr_cbrt(r20105, r20103, MPFR_RNDN);
        mpfr_mul(r20106, r20105, r20105, MPFR_RNDN);
        mpfr_mul(r20107, r20106, r20105, MPFR_RNDN);
        mpfr_mul(r20108, r20104, r20107, MPFR_RNDN);
        mpfr_sub(r20109, r20108, r20062, MPFR_RNDN);
        mpfr_div(r20110, r20067, r20109, MPFR_RNDN);
        mpfr_add(r20111, r20069, r20092, MPFR_RNDN);
        mpfr_div(r20112, r20111, r20081, MPFR_RNDN);
        if (mpfr_get_si(r20066, MPFR_RNDN)) { mpfr_set(r20113, r20110, MPFR_RNDN); } else { mpfr_set(r20113, r20112, MPFR_RNDN); };
        if (mpfr_get_si(r20086, MPFR_RNDN)) { mpfr_set(r20114, r20100, MPFR_RNDN); } else { mpfr_set(r20114, r20113, MPFR_RNDN); };
        if (mpfr_get_si(r20064, MPFR_RNDN)) { mpfr_set(r20115, r20084, MPFR_RNDN); } else { mpfr_set(r20115, r20114, MPFR_RNDN); };
        return mpfr_get_d(r20115, MPFR_RNDN);
}

