#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 r19817 = b;
        float r19818 = 0;
        bool r19819 = r19817 >= r19818;
        float r19820 = 2;
        float r19821 = c;
        float r19822 = r19820 * r19821;
        float r19823 = -r19817;
        float r19824 = r19817 * r19817;
        float r19825 = 4;
        float r19826 = a;
        float r19827 = r19825 * r19826;
        float r19828 = r19827 * r19821;
        float r19829 = r19824 - r19828;
        float r19830 = sqrt(r19829);
        float r19831 = r19823 - r19830;
        float r19832 = r19822 / r19831;
        float r19833 = r19823 + r19830;
        float r19834 = r19820 * r19826;
        float r19835 = r19833 / r19834;
        float r19836 = r19819 ? r19832 : r19835;
        return r19836;
}

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


double f_of(float a, float b, float c) {
        float r19857 = b;
        float r19858 = -3.9482035560034934e+125;
        bool r19859 = r19857 <= r19858;
        float r19860 = 0;
        bool r19861 = r19857 >= r19860;
        float r19862 = c;
        float r19863 = r19862 + r19862;
        float r19864 = -r19857;
        float r19865 = r19857 * r19857;
        float r19866 = a;
        float r19867 = r19866 * r19862;
        float r19868 = 4;
        float r19869 = r19867 * r19868;
        float r19870 = r19865 - r19869;
        float r19871 = sqrt(r19870);
        float r19872 = r19864 - r19871;
        float r19873 = r19863 / r19872;
        float r19874 = r19862 / r19857;
        float r19875 = r19857 - r19864;
        float r19876 = r19866 + r19866;
        float r19877 = r19875 / r19876;
        float r19878 = r19874 - r19877;
        float r19879 = r19861 ? r19873 : r19878;
        float r19880 = 3.1746500024866854e+75;
        bool r19881 = r19857 <= r19880;
        float r19882 = 2;
        float r19883 = r19882 * r19862;
        float r19884 = r19868 * r19866;
        float r19885 = r19884 * r19862;
        float r19886 = r19865 - r19885;
        float r19887 = sqrt(r19886);
        float r19888 = r19864 - r19887;
        float r19889 = r19883 / r19888;
        float r19890 = sqrt(r19887);
        float r19891 = r19890 * r19890;
        float r19892 = r19864 + r19891;
        float r19893 = r19882 * r19866;
        float r19894 = r19892 / r19893;
        float r19895 = r19861 ? r19889 : r19894;
        float r19896 = r19866 * r19874;
        float r19897 = r19896 - r19857;
        float r19898 = r19862 / r19897;
        float r19899 = -2;
        float r19900 = r19899 / r19882;
        float r19901 = r19900 * r19874;
        float r19902 = r19861 ? r19898 : r19901;
        float r19903 = r19881 ? r19895 : r19902;
        float r19904 = r19859 ? r19879 : r19903;
        return r19904;
}

double f_od(double a, double b, double c) {
        double r19905 = b;
        double r19906 = -3.9482035560034934e+125;
        bool r19907 = r19905 <= r19906;
        double r19908 = 0;
        bool r19909 = r19905 >= r19908;
        double r19910 = c;
        double r19911 = r19910 + r19910;
        double r19912 = -r19905;
        double r19913 = r19905 * r19905;
        double r19914 = a;
        double r19915 = r19914 * r19910;
        double r19916 = 4;
        double r19917 = r19915 * r19916;
        double r19918 = r19913 - r19917;
        double r19919 = sqrt(r19918);
        double r19920 = r19912 - r19919;
        double r19921 = r19911 / r19920;
        double r19922 = r19910 / r19905;
        double r19923 = r19905 - r19912;
        double r19924 = r19914 + r19914;
        double r19925 = r19923 / r19924;
        double r19926 = r19922 - r19925;
        double r19927 = r19909 ? r19921 : r19926;
        double r19928 = 3.1746500024866854e+75;
        bool r19929 = r19905 <= r19928;
        double r19930 = 2;
        double r19931 = r19930 * r19910;
        double r19932 = r19916 * r19914;
        double r19933 = r19932 * r19910;
        double r19934 = r19913 - r19933;
        double r19935 = sqrt(r19934);
        double r19936 = r19912 - r19935;
        double r19937 = r19931 / r19936;
        double r19938 = sqrt(r19935);
        double r19939 = r19938 * r19938;
        double r19940 = r19912 + r19939;
        double r19941 = r19930 * r19914;
        double r19942 = r19940 / r19941;
        double r19943 = r19909 ? r19937 : r19942;
        double r19944 = r19914 * r19922;
        double r19945 = r19944 - r19905;
        double r19946 = r19910 / r19945;
        double r19947 = -2;
        double r19948 = r19947 / r19930;
        double r19949 = r19948 * r19922;
        double r19950 = r19909 ? r19946 : r19949;
        double r19951 = r19929 ? r19943 : r19950;
        double r19952 = r19907 ? r19927 : r19951;
        return r19952;
}

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 r19953, r19954, r19955, r19956, r19957, r19958, r19959, r19960, r19961, r19962, r19963, r19964, r19965, r19966, r19967, r19968, r19969, r19970, r19971, r19972;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r19953);
        mpfr_init_set_str(r19954, "0", 10, MPFR_RNDN);
        mpfr_init(r19955);
        mpfr_init_set_str(r19956, "2", 10, MPFR_RNDN);
        mpfr_init(r19957);
        mpfr_init(r19958);
        mpfr_init(r19959);
        mpfr_init(r19960);
        mpfr_init_set_str(r19961, "4", 10, MPFR_RNDN);
        mpfr_init(r19962);
        mpfr_init(r19963);
        mpfr_init(r19964);
        mpfr_init(r19965);
        mpfr_init(r19966);
        mpfr_init(r19967);
        mpfr_init(r19968);
        mpfr_init(r19969);
        mpfr_init(r19970);
        mpfr_init(r19971);
        mpfr_init(r19972);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r19953, b, MPFR_RNDN);
        ;
        mpfr_set_si(r19955, mpfr_cmp(r19953, r19954) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r19957, c, MPFR_RNDN);
        mpfr_mul(r19958, r19956, r19957, MPFR_RNDN);
        mpfr_neg(r19959, r19953, MPFR_RNDN);
        mpfr_mul(r19960, r19953, r19953, MPFR_RNDN);
        ;
        mpfr_set_d(r19962, a, MPFR_RNDN);
        mpfr_mul(r19963, r19961, r19962, MPFR_RNDN);
        mpfr_mul(r19964, r19963, r19957, MPFR_RNDN);
        mpfr_sub(r19965, r19960, r19964, MPFR_RNDN);
        mpfr_sqrt(r19966, r19965, MPFR_RNDN);
        mpfr_sub(r19967, r19959, r19966, MPFR_RNDN);
        mpfr_div(r19968, r19958, r19967, MPFR_RNDN);
        mpfr_add(r19969, r19959, r19966, MPFR_RNDN);
        mpfr_mul(r19970, r19956, r19962, MPFR_RNDN);
        mpfr_div(r19971, r19969, r19970, MPFR_RNDN);
        if (mpfr_get_si(r19955, MPFR_RNDN)) { mpfr_set(r19972, r19968, MPFR_RNDN); } else { mpfr_set(r19972, r19971, MPFR_RNDN); };
        return mpfr_get_d(r19972, MPFR_RNDN);
}

static mpfr_t r19973, r19974, r19975, r19976, r19977, r19978, r19979, r19980, r19981, r19982, r19983, r19984, r19985, r19986, r19987, r19988, r19989, r19990, r19991, r19992, r19993, r19994, r19995, r19996, r19997, r19998, r19999, r20000, r20001, r20002, r20003, r20004, r20005, r20006, r20007, r20008, r20009, r20010, r20011, r20012, r20013, r20014, r20015, r20016, r20017, r20018, r20019, r20020;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r19973);
        mpfr_init_set_str(r19974, "-3.9482035560034934e+125", 10, MPFR_RNDN);
        mpfr_init(r19975);
        mpfr_init_set_str(r19976, "0", 10, MPFR_RNDN);
        mpfr_init(r19977);
        mpfr_init(r19978);
        mpfr_init(r19979);
        mpfr_init(r19980);
        mpfr_init(r19981);
        mpfr_init(r19982);
        mpfr_init(r19983);
        mpfr_init_set_str(r19984, "4", 10, MPFR_RNDN);
        mpfr_init(r19985);
        mpfr_init(r19986);
        mpfr_init(r19987);
        mpfr_init(r19988);
        mpfr_init(r19989);
        mpfr_init(r19990);
        mpfr_init(r19991);
        mpfr_init(r19992);
        mpfr_init(r19993);
        mpfr_init(r19994);
        mpfr_init(r19995);
        mpfr_init_set_str(r19996, "3.1746500024866854e+75", 10, MPFR_RNDN);
        mpfr_init(r19997);
        mpfr_init_set_str(r19998, "2", 10, MPFR_RNDN);
        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);
        mpfr_init(r20008);
        mpfr_init(r20009);
        mpfr_init(r20010);
        mpfr_init(r20011);
        mpfr_init(r20012);
        mpfr_init(r20013);
        mpfr_init(r20014);
        mpfr_init_set_str(r20015, "-2", 10, MPFR_RNDN);
        mpfr_init(r20016);
        mpfr_init(r20017);
        mpfr_init(r20018);
        mpfr_init(r20019);
        mpfr_init(r20020);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r19973, b, MPFR_RNDN);
        ;
        mpfr_set_si(r19975, mpfr_cmp(r19973, r19974) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r19977, mpfr_cmp(r19973, r19976) >= 0, MPFR_RNDN);
        mpfr_set_d(r19978, c, MPFR_RNDN);
        mpfr_add(r19979, r19978, r19978, MPFR_RNDN);
        mpfr_neg(r19980, r19973, MPFR_RNDN);
        mpfr_mul(r19981, r19973, r19973, MPFR_RNDN);
        mpfr_set_d(r19982, a, MPFR_RNDN);
        mpfr_mul(r19983, r19982, r19978, MPFR_RNDN);
        ;
        mpfr_mul(r19985, r19983, r19984, MPFR_RNDN);
        mpfr_sub(r19986, r19981, r19985, MPFR_RNDN);
        mpfr_sqrt(r19987, r19986, MPFR_RNDN);
        mpfr_sub(r19988, r19980, r19987, MPFR_RNDN);
        mpfr_div(r19989, r19979, r19988, MPFR_RNDN);
        mpfr_div(r19990, r19978, r19973, MPFR_RNDN);
        mpfr_sub(r19991, r19973, r19980, MPFR_RNDN);
        mpfr_add(r19992, r19982, r19982, MPFR_RNDN);
        mpfr_div(r19993, r19991, r19992, MPFR_RNDN);
        mpfr_sub(r19994, r19990, r19993, MPFR_RNDN);
        if (mpfr_get_si(r19977, MPFR_RNDN)) { mpfr_set(r19995, r19989, MPFR_RNDN); } else { mpfr_set(r19995, r19994, MPFR_RNDN); };
        ;
        mpfr_set_si(r19997, mpfr_cmp(r19973, r19996) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r19999, r19998, r19978, MPFR_RNDN);
        mpfr_mul(r20000, r19984, r19982, MPFR_RNDN);
        mpfr_mul(r20001, r20000, r19978, MPFR_RNDN);
        mpfr_sub(r20002, r19981, r20001, MPFR_RNDN);
        mpfr_sqrt(r20003, r20002, MPFR_RNDN);
        mpfr_sub(r20004, r19980, r20003, MPFR_RNDN);
        mpfr_div(r20005, r19999, r20004, MPFR_RNDN);
        mpfr_sqrt(r20006, r20003, MPFR_RNDN);
        mpfr_mul(r20007, r20006, r20006, MPFR_RNDN);
        mpfr_add(r20008, r19980, r20007, MPFR_RNDN);
        mpfr_mul(r20009, r19998, r19982, MPFR_RNDN);
        mpfr_div(r20010, r20008, r20009, MPFR_RNDN);
        if (mpfr_get_si(r19977, MPFR_RNDN)) { mpfr_set(r20011, r20005, MPFR_RNDN); } else { mpfr_set(r20011, r20010, MPFR_RNDN); };
        mpfr_mul(r20012, r19982, r19990, MPFR_RNDN);
        mpfr_sub(r20013, r20012, r19973, MPFR_RNDN);
        mpfr_div(r20014, r19978, r20013, MPFR_RNDN);
        ;
        mpfr_div(r20016, r20015, r19998, MPFR_RNDN);
        mpfr_mul(r20017, r20016, r19990, MPFR_RNDN);
        if (mpfr_get_si(r19977, MPFR_RNDN)) { mpfr_set(r20018, r20014, MPFR_RNDN); } else { mpfr_set(r20018, r20017, MPFR_RNDN); };
        if (mpfr_get_si(r19997, MPFR_RNDN)) { mpfr_set(r20019, r20011, MPFR_RNDN); } else { mpfr_set(r20019, r20018, MPFR_RNDN); };
        if (mpfr_get_si(r19975, MPFR_RNDN)) { mpfr_set(r20020, r19995, MPFR_RNDN); } else { mpfr_set(r20020, r20019, MPFR_RNDN); };
        return mpfr_get_d(r20020, MPFR_RNDN);
}

static mpfr_t 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, r20062, r20063, r20064, r20065, r20066, r20067, r20068;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r20021);
        mpfr_init_set_str(r20022, "-3.9482035560034934e+125", 10, MPFR_RNDN);
        mpfr_init(r20023);
        mpfr_init_set_str(r20024, "0", 10, MPFR_RNDN);
        mpfr_init(r20025);
        mpfr_init(r20026);
        mpfr_init(r20027);
        mpfr_init(r20028);
        mpfr_init(r20029);
        mpfr_init(r20030);
        mpfr_init(r20031);
        mpfr_init_set_str(r20032, "4", 10, MPFR_RNDN);
        mpfr_init(r20033);
        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_set_str(r20044, "3.1746500024866854e+75", 10, MPFR_RNDN);
        mpfr_init(r20045);
        mpfr_init_set_str(r20046, "2", 10, MPFR_RNDN);
        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);
        mpfr_init(r20062);
        mpfr_init_set_str(r20063, "-2", 10, MPFR_RNDN);
        mpfr_init(r20064);
        mpfr_init(r20065);
        mpfr_init(r20066);
        mpfr_init(r20067);
        mpfr_init(r20068);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r20021, b, MPFR_RNDN);
        ;
        mpfr_set_si(r20023, mpfr_cmp(r20021, r20022) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r20025, mpfr_cmp(r20021, r20024) >= 0, MPFR_RNDN);
        mpfr_set_d(r20026, c, MPFR_RNDN);
        mpfr_add(r20027, r20026, r20026, MPFR_RNDN);
        mpfr_neg(r20028, r20021, MPFR_RNDN);
        mpfr_mul(r20029, r20021, r20021, MPFR_RNDN);
        mpfr_set_d(r20030, a, MPFR_RNDN);
        mpfr_mul(r20031, r20030, r20026, MPFR_RNDN);
        ;
        mpfr_mul(r20033, r20031, r20032, MPFR_RNDN);
        mpfr_sub(r20034, r20029, r20033, MPFR_RNDN);
        mpfr_sqrt(r20035, r20034, MPFR_RNDN);
        mpfr_sub(r20036, r20028, r20035, MPFR_RNDN);
        mpfr_div(r20037, r20027, r20036, MPFR_RNDN);
        mpfr_div(r20038, r20026, r20021, MPFR_RNDN);
        mpfr_sub(r20039, r20021, r20028, MPFR_RNDN);
        mpfr_add(r20040, r20030, r20030, MPFR_RNDN);
        mpfr_div(r20041, r20039, r20040, MPFR_RNDN);
        mpfr_sub(r20042, r20038, r20041, MPFR_RNDN);
        if (mpfr_get_si(r20025, MPFR_RNDN)) { mpfr_set(r20043, r20037, MPFR_RNDN); } else { mpfr_set(r20043, r20042, MPFR_RNDN); };
        ;
        mpfr_set_si(r20045, mpfr_cmp(r20021, r20044) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r20047, r20046, r20026, MPFR_RNDN);
        mpfr_mul(r20048, r20032, r20030, MPFR_RNDN);
        mpfr_mul(r20049, r20048, r20026, MPFR_RNDN);
        mpfr_sub(r20050, r20029, r20049, MPFR_RNDN);
        mpfr_sqrt(r20051, r20050, MPFR_RNDN);
        mpfr_sub(r20052, r20028, r20051, MPFR_RNDN);
        mpfr_div(r20053, r20047, r20052, MPFR_RNDN);
        mpfr_sqrt(r20054, r20051, MPFR_RNDN);
        mpfr_mul(r20055, r20054, r20054, MPFR_RNDN);
        mpfr_add(r20056, r20028, r20055, MPFR_RNDN);
        mpfr_mul(r20057, r20046, r20030, MPFR_RNDN);
        mpfr_div(r20058, r20056, r20057, MPFR_RNDN);
        if (mpfr_get_si(r20025, MPFR_RNDN)) { mpfr_set(r20059, r20053, MPFR_RNDN); } else { mpfr_set(r20059, r20058, MPFR_RNDN); };
        mpfr_mul(r20060, r20030, r20038, MPFR_RNDN);
        mpfr_sub(r20061, r20060, r20021, MPFR_RNDN);
        mpfr_div(r20062, r20026, r20061, MPFR_RNDN);
        ;
        mpfr_div(r20064, r20063, r20046, MPFR_RNDN);
        mpfr_mul(r20065, r20064, r20038, MPFR_RNDN);
        if (mpfr_get_si(r20025, MPFR_RNDN)) { mpfr_set(r20066, r20062, MPFR_RNDN); } else { mpfr_set(r20066, r20065, MPFR_RNDN); };
        if (mpfr_get_si(r20045, MPFR_RNDN)) { mpfr_set(r20067, r20059, MPFR_RNDN); } else { mpfr_set(r20067, r20066, MPFR_RNDN); };
        if (mpfr_get_si(r20023, MPFR_RNDN)) { mpfr_set(r20068, r20043, MPFR_RNDN); } else { mpfr_set(r20068, r20067, MPFR_RNDN); };
        return mpfr_get_d(r20068, MPFR_RNDN);
}

