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

char *name = "math.sqrt on complex, real part";

double f_if(float re, float im) {
        float r25930 = 0.5;
        float r25931 = 2.0;
        float r25932 = re;
        float r25933 = r25932 * r25932;
        float r25934 = im;
        float r25935 = r25934 * r25934;
        float r25936 = r25933 + r25935;
        float r25937 = sqrt(r25936);
        float r25938 = r25937 + r25932;
        float r25939 = r25931 * r25938;
        float r25940 = sqrt(r25939);
        float r25941 = r25930 * r25940;
        return r25941;
}

double f_id(double re, double im) {
        double r25942 = 0.5;
        double r25943 = 2.0;
        double r25944 = re;
        double r25945 = r25944 * r25944;
        double r25946 = im;
        double r25947 = r25946 * r25946;
        double r25948 = r25945 + r25947;
        double r25949 = sqrt(r25948);
        double r25950 = r25949 + r25944;
        double r25951 = r25943 * r25950;
        double r25952 = sqrt(r25951);
        double r25953 = r25942 * r25952;
        return r25953;
}


double f_of(float re, float im) {
        float r25954 = 2.0;
        float r25955 = im;
        float r25956 = re;
        float r25957 = r25955 + r25956;
        float r25958 = r25954 * r25957;
        float r25959 = -6.944343506432147e+156;
        bool r25960 = r25958 <= r25959;
        float r25961 = 0.5;
        float r25962 = r25955 * r25955;
        float r25963 = r25954 * r25962;
        float r25964 = sqrt(r25963);
        float r25965 = -2;
        float r25966 = r25965 * r25956;
        float r25967 = sqrt(r25966);
        float r25968 = r25964 / r25967;
        float r25969 = r25961 * r25968;
        float r25970 = -8.83604580331896e-258;
        bool r25971 = r25958 <= r25970;
        float r25972 = sqrt(r25954);
        float r25973 = fabs(r25955);
        float r25974 = r25972 * r25973;
        float r25975 = r25956 * r25956;
        float r25976 = r25975 + r25962;
        float r25977 = sqrt(r25976);
        float r25978 = r25977 - r25956;
        float r25979 = sqrt(r25978);
        float r25980 = r25974 / r25979;
        float r25981 = r25961 * r25980;
        float r25982 = 1.0296091430260189e+155;
        bool r25983 = r25958 <= r25982;
        float r25984 = sqrt(r25977);
        float r25985 = r25984 * r25984;
        float r25986 = r25985 + r25956;
        float r25987 = r25954 * r25986;
        float r25988 = sqrt(r25987);
        float r25989 = r25961 * r25988;
        float r25990 = 2.4853197806419537e+228;
        bool r25991 = r25958 <= r25990;
        float r25992 = r25956 + r25956;
        float r25993 = r25954 * r25992;
        float r25994 = sqrt(r25993);
        float r25995 = r25961 * r25994;
        float r25996 = 1.0629330373146141e+266;
        bool r25997 = r25958 <= r25996;
        float r25998 = sqrt(r25958);
        float r25999 = r25961 * r25998;
        float r26000 = 4.876227522985615e+298;
        bool r26001 = r25958 <= r26000;
        float r26002 = r26001 ? r25995 : r25999;
        float r26003 = r25997 ? r25999 : r26002;
        float r26004 = r25991 ? r25995 : r26003;
        float r26005 = r25983 ? r25989 : r26004;
        float r26006 = r25971 ? r25981 : r26005;
        float r26007 = r25960 ? r25969 : r26006;
        return r26007;
}

double f_od(double re, double im) {
        double r26008 = 2.0;
        double r26009 = im;
        double r26010 = re;
        double r26011 = r26009 + r26010;
        double r26012 = r26008 * r26011;
        double r26013 = -6.944343506432147e+156;
        bool r26014 = r26012 <= r26013;
        double r26015 = 0.5;
        double r26016 = r26009 * r26009;
        double r26017 = r26008 * r26016;
        double r26018 = sqrt(r26017);
        double r26019 = -2;
        double r26020 = r26019 * r26010;
        double r26021 = sqrt(r26020);
        double r26022 = r26018 / r26021;
        double r26023 = r26015 * r26022;
        double r26024 = -8.83604580331896e-258;
        bool r26025 = r26012 <= r26024;
        double r26026 = sqrt(r26008);
        double r26027 = fabs(r26009);
        double r26028 = r26026 * r26027;
        double r26029 = r26010 * r26010;
        double r26030 = r26029 + r26016;
        double r26031 = sqrt(r26030);
        double r26032 = r26031 - r26010;
        double r26033 = sqrt(r26032);
        double r26034 = r26028 / r26033;
        double r26035 = r26015 * r26034;
        double r26036 = 1.0296091430260189e+155;
        bool r26037 = r26012 <= r26036;
        double r26038 = sqrt(r26031);
        double r26039 = r26038 * r26038;
        double r26040 = r26039 + r26010;
        double r26041 = r26008 * r26040;
        double r26042 = sqrt(r26041);
        double r26043 = r26015 * r26042;
        double r26044 = 2.4853197806419537e+228;
        bool r26045 = r26012 <= r26044;
        double r26046 = r26010 + r26010;
        double r26047 = r26008 * r26046;
        double r26048 = sqrt(r26047);
        double r26049 = r26015 * r26048;
        double r26050 = 1.0629330373146141e+266;
        bool r26051 = r26012 <= r26050;
        double r26052 = sqrt(r26012);
        double r26053 = r26015 * r26052;
        double r26054 = 4.876227522985615e+298;
        bool r26055 = r26012 <= r26054;
        double r26056 = r26055 ? r26049 : r26053;
        double r26057 = r26051 ? r26053 : r26056;
        double r26058 = r26045 ? r26049 : r26057;
        double r26059 = r26037 ? r26043 : r26058;
        double r26060 = r26025 ? r26035 : r26059;
        double r26061 = r26014 ? r26023 : r26060;
        return r26061;
}

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 r26062, r26063, r26064, r26065, r26066, r26067, r26068, r26069, r26070, r26071, r26072, r26073;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r26062, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26063, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26064);
        mpfr_init(r26065);
        mpfr_init(r26066);
        mpfr_init(r26067);
        mpfr_init(r26068);
        mpfr_init(r26069);
        mpfr_init(r26070);
        mpfr_init(r26071);
        mpfr_init(r26072);
        mpfr_init(r26073);
}

double f_im(double re, double im) {
        ;
        ;
        mpfr_set_d(r26064, re, MPFR_RNDN);
        mpfr_mul(r26065, r26064, r26064, MPFR_RNDN);
        mpfr_set_d(r26066, im, MPFR_RNDN);
        mpfr_mul(r26067, r26066, r26066, MPFR_RNDN);
        mpfr_add(r26068, r26065, r26067, MPFR_RNDN);
        mpfr_sqrt(r26069, r26068, MPFR_RNDN);
        mpfr_add(r26070, r26069, r26064, MPFR_RNDN);
        mpfr_mul(r26071, r26063, r26070, MPFR_RNDN);
        mpfr_sqrt(r26072, r26071, MPFR_RNDN);
        mpfr_mul(r26073, r26062, r26072, MPFR_RNDN);
        return mpfr_get_d(r26073, MPFR_RNDN);
}

static mpfr_t r26074, r26075, r26076, r26077, r26078, r26079, r26080, r26081, r26082, r26083, r26084, r26085, r26086, r26087, r26088, r26089, r26090, r26091, r26092, r26093, r26094, r26095, r26096, r26097, r26098, r26099, r26100, r26101, r26102, r26103, r26104, r26105, r26106, r26107, r26108, r26109, r26110, r26111, r26112, r26113, r26114, r26115, r26116, r26117, r26118, r26119, r26120, r26121, r26122, r26123, r26124, r26125, r26126, r26127;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r26074, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26075);
        mpfr_init(r26076);
        mpfr_init(r26077);
        mpfr_init(r26078);
        mpfr_init_set_str(r26079, "-6.944343506432147e+156", 10, MPFR_RNDN);
        mpfr_init(r26080);
        mpfr_init_set_str(r26081, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26082);
        mpfr_init(r26083);
        mpfr_init(r26084);
        mpfr_init_set_str(r26085, "-2", 10, MPFR_RNDN);
        mpfr_init(r26086);
        mpfr_init(r26087);
        mpfr_init(r26088);
        mpfr_init(r26089);
        mpfr_init_set_str(r26090, "-8.83604580331896e-258", 10, MPFR_RNDN);
        mpfr_init(r26091);
        mpfr_init(r26092);
        mpfr_init(r26093);
        mpfr_init(r26094);
        mpfr_init(r26095);
        mpfr_init(r26096);
        mpfr_init(r26097);
        mpfr_init(r26098);
        mpfr_init(r26099);
        mpfr_init(r26100);
        mpfr_init(r26101);
        mpfr_init_set_str(r26102, "1.0296091430260189e+155", 10, MPFR_RNDN);
        mpfr_init(r26103);
        mpfr_init(r26104);
        mpfr_init(r26105);
        mpfr_init(r26106);
        mpfr_init(r26107);
        mpfr_init(r26108);
        mpfr_init(r26109);
        mpfr_init_set_str(r26110, "2.4853197806419537e+228", 10, MPFR_RNDN);
        mpfr_init(r26111);
        mpfr_init(r26112);
        mpfr_init(r26113);
        mpfr_init(r26114);
        mpfr_init(r26115);
        mpfr_init_set_str(r26116, "1.0629330373146141e+266", 10, MPFR_RNDN);
        mpfr_init(r26117);
        mpfr_init(r26118);
        mpfr_init(r26119);
        mpfr_init_set_str(r26120, "4.876227522985615e+298", 10, MPFR_RNDN);
        mpfr_init(r26121);
        mpfr_init(r26122);
        mpfr_init(r26123);
        mpfr_init(r26124);
        mpfr_init(r26125);
        mpfr_init(r26126);
        mpfr_init(r26127);
}

double f_fm(double re, double im) {
        ;
        mpfr_set_d(r26075, im, MPFR_RNDN);
        mpfr_set_d(r26076, re, MPFR_RNDN);
        mpfr_add(r26077, r26075, r26076, MPFR_RNDN);
        mpfr_mul(r26078, r26074, r26077, MPFR_RNDN);
        ;
        mpfr_set_si(r26080, mpfr_cmp(r26078, r26079) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r26082, r26075, r26075, MPFR_RNDN);
        mpfr_mul(r26083, r26074, r26082, MPFR_RNDN);
        mpfr_sqrt(r26084, r26083, MPFR_RNDN);
        ;
        mpfr_mul(r26086, r26085, r26076, MPFR_RNDN);
        mpfr_sqrt(r26087, r26086, MPFR_RNDN);
        mpfr_div(r26088, r26084, r26087, MPFR_RNDN);
        mpfr_mul(r26089, r26081, r26088, MPFR_RNDN);
        ;
        mpfr_set_si(r26091, mpfr_cmp(r26078, r26090) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26092, r26074, MPFR_RNDN);
        mpfr_abs(r26093, r26075, MPFR_RNDN);
        mpfr_mul(r26094, r26092, r26093, MPFR_RNDN);
        mpfr_mul(r26095, r26076, r26076, MPFR_RNDN);
        mpfr_add(r26096, r26095, r26082, MPFR_RNDN);
        mpfr_sqrt(r26097, r26096, MPFR_RNDN);
        mpfr_sub(r26098, r26097, r26076, MPFR_RNDN);
        mpfr_sqrt(r26099, r26098, MPFR_RNDN);
        mpfr_div(r26100, r26094, r26099, MPFR_RNDN);
        mpfr_mul(r26101, r26081, r26100, MPFR_RNDN);
        ;
        mpfr_set_si(r26103, mpfr_cmp(r26078, r26102) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26104, r26097, MPFR_RNDN);
        mpfr_mul(r26105, r26104, r26104, MPFR_RNDN);
        mpfr_add(r26106, r26105, r26076, MPFR_RNDN);
        mpfr_mul(r26107, r26074, r26106, MPFR_RNDN);
        mpfr_sqrt(r26108, r26107, MPFR_RNDN);
        mpfr_mul(r26109, r26081, r26108, MPFR_RNDN);
        ;
        mpfr_set_si(r26111, mpfr_cmp(r26078, r26110) <= 0, MPFR_RNDN);
        mpfr_add(r26112, r26076, r26076, MPFR_RNDN);
        mpfr_mul(r26113, r26074, r26112, MPFR_RNDN);
        mpfr_sqrt(r26114, r26113, MPFR_RNDN);
        mpfr_mul(r26115, r26081, r26114, MPFR_RNDN);
        ;
        mpfr_set_si(r26117, mpfr_cmp(r26078, r26116) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26118, r26078, MPFR_RNDN);
        mpfr_mul(r26119, r26081, r26118, MPFR_RNDN);
        ;
        mpfr_set_si(r26121, mpfr_cmp(r26078, r26120) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26121, MPFR_RNDN)) { mpfr_set(r26122, r26115, MPFR_RNDN); } else { mpfr_set(r26122, r26119, MPFR_RNDN); };
        if (mpfr_get_si(r26117, MPFR_RNDN)) { mpfr_set(r26123, r26119, MPFR_RNDN); } else { mpfr_set(r26123, r26122, MPFR_RNDN); };
        if (mpfr_get_si(r26111, MPFR_RNDN)) { mpfr_set(r26124, r26115, MPFR_RNDN); } else { mpfr_set(r26124, r26123, MPFR_RNDN); };
        if (mpfr_get_si(r26103, MPFR_RNDN)) { mpfr_set(r26125, r26109, MPFR_RNDN); } else { mpfr_set(r26125, r26124, MPFR_RNDN); };
        if (mpfr_get_si(r26091, MPFR_RNDN)) { mpfr_set(r26126, r26101, MPFR_RNDN); } else { mpfr_set(r26126, r26125, MPFR_RNDN); };
        if (mpfr_get_si(r26080, MPFR_RNDN)) { mpfr_set(r26127, r26089, MPFR_RNDN); } else { mpfr_set(r26127, r26126, MPFR_RNDN); };
        return mpfr_get_d(r26127, MPFR_RNDN);
}

static mpfr_t r26128, r26129, r26130, r26131, r26132, r26133, r26134, r26135, r26136, r26137, r26138, r26139, r26140, r26141, r26142, r26143, r26144, r26145, r26146, r26147, r26148, r26149, r26150, r26151, r26152, r26153, r26154, r26155, r26156, r26157, r26158, r26159, r26160, r26161, r26162, r26163, r26164, r26165, r26166, r26167, r26168, r26169, r26170, r26171, r26172, r26173, r26174, r26175, r26176, r26177, r26178, r26179, r26180, r26181;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r26128, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26129);
        mpfr_init(r26130);
        mpfr_init(r26131);
        mpfr_init(r26132);
        mpfr_init_set_str(r26133, "-6.944343506432147e+156", 10, MPFR_RNDN);
        mpfr_init(r26134);
        mpfr_init_set_str(r26135, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26136);
        mpfr_init(r26137);
        mpfr_init(r26138);
        mpfr_init_set_str(r26139, "-2", 10, MPFR_RNDN);
        mpfr_init(r26140);
        mpfr_init(r26141);
        mpfr_init(r26142);
        mpfr_init(r26143);
        mpfr_init_set_str(r26144, "-8.83604580331896e-258", 10, MPFR_RNDN);
        mpfr_init(r26145);
        mpfr_init(r26146);
        mpfr_init(r26147);
        mpfr_init(r26148);
        mpfr_init(r26149);
        mpfr_init(r26150);
        mpfr_init(r26151);
        mpfr_init(r26152);
        mpfr_init(r26153);
        mpfr_init(r26154);
        mpfr_init(r26155);
        mpfr_init_set_str(r26156, "1.0296091430260189e+155", 10, MPFR_RNDN);
        mpfr_init(r26157);
        mpfr_init(r26158);
        mpfr_init(r26159);
        mpfr_init(r26160);
        mpfr_init(r26161);
        mpfr_init(r26162);
        mpfr_init(r26163);
        mpfr_init_set_str(r26164, "2.4853197806419537e+228", 10, MPFR_RNDN);
        mpfr_init(r26165);
        mpfr_init(r26166);
        mpfr_init(r26167);
        mpfr_init(r26168);
        mpfr_init(r26169);
        mpfr_init_set_str(r26170, "1.0629330373146141e+266", 10, MPFR_RNDN);
        mpfr_init(r26171);
        mpfr_init(r26172);
        mpfr_init(r26173);
        mpfr_init_set_str(r26174, "4.876227522985615e+298", 10, MPFR_RNDN);
        mpfr_init(r26175);
        mpfr_init(r26176);
        mpfr_init(r26177);
        mpfr_init(r26178);
        mpfr_init(r26179);
        mpfr_init(r26180);
        mpfr_init(r26181);
}

double f_dm(double re, double im) {
        ;
        mpfr_set_d(r26129, im, MPFR_RNDN);
        mpfr_set_d(r26130, re, MPFR_RNDN);
        mpfr_add(r26131, r26129, r26130, MPFR_RNDN);
        mpfr_mul(r26132, r26128, r26131, MPFR_RNDN);
        ;
        mpfr_set_si(r26134, mpfr_cmp(r26132, r26133) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r26136, r26129, r26129, MPFR_RNDN);
        mpfr_mul(r26137, r26128, r26136, MPFR_RNDN);
        mpfr_sqrt(r26138, r26137, MPFR_RNDN);
        ;
        mpfr_mul(r26140, r26139, r26130, MPFR_RNDN);
        mpfr_sqrt(r26141, r26140, MPFR_RNDN);
        mpfr_div(r26142, r26138, r26141, MPFR_RNDN);
        mpfr_mul(r26143, r26135, r26142, MPFR_RNDN);
        ;
        mpfr_set_si(r26145, mpfr_cmp(r26132, r26144) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26146, r26128, MPFR_RNDN);
        mpfr_abs(r26147, r26129, MPFR_RNDN);
        mpfr_mul(r26148, r26146, r26147, MPFR_RNDN);
        mpfr_mul(r26149, r26130, r26130, MPFR_RNDN);
        mpfr_add(r26150, r26149, r26136, MPFR_RNDN);
        mpfr_sqrt(r26151, r26150, MPFR_RNDN);
        mpfr_sub(r26152, r26151, r26130, MPFR_RNDN);
        mpfr_sqrt(r26153, r26152, MPFR_RNDN);
        mpfr_div(r26154, r26148, r26153, MPFR_RNDN);
        mpfr_mul(r26155, r26135, r26154, MPFR_RNDN);
        ;
        mpfr_set_si(r26157, mpfr_cmp(r26132, r26156) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26158, r26151, MPFR_RNDN);
        mpfr_mul(r26159, r26158, r26158, MPFR_RNDN);
        mpfr_add(r26160, r26159, r26130, MPFR_RNDN);
        mpfr_mul(r26161, r26128, r26160, MPFR_RNDN);
        mpfr_sqrt(r26162, r26161, MPFR_RNDN);
        mpfr_mul(r26163, r26135, r26162, MPFR_RNDN);
        ;
        mpfr_set_si(r26165, mpfr_cmp(r26132, r26164) <= 0, MPFR_RNDN);
        mpfr_add(r26166, r26130, r26130, MPFR_RNDN);
        mpfr_mul(r26167, r26128, r26166, MPFR_RNDN);
        mpfr_sqrt(r26168, r26167, MPFR_RNDN);
        mpfr_mul(r26169, r26135, r26168, MPFR_RNDN);
        ;
        mpfr_set_si(r26171, mpfr_cmp(r26132, r26170) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26172, r26132, MPFR_RNDN);
        mpfr_mul(r26173, r26135, r26172, MPFR_RNDN);
        ;
        mpfr_set_si(r26175, mpfr_cmp(r26132, r26174) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26175, MPFR_RNDN)) { mpfr_set(r26176, r26169, MPFR_RNDN); } else { mpfr_set(r26176, r26173, MPFR_RNDN); };
        if (mpfr_get_si(r26171, MPFR_RNDN)) { mpfr_set(r26177, r26173, MPFR_RNDN); } else { mpfr_set(r26177, r26176, MPFR_RNDN); };
        if (mpfr_get_si(r26165, MPFR_RNDN)) { mpfr_set(r26178, r26169, MPFR_RNDN); } else { mpfr_set(r26178, r26177, MPFR_RNDN); };
        if (mpfr_get_si(r26157, MPFR_RNDN)) { mpfr_set(r26179, r26163, MPFR_RNDN); } else { mpfr_set(r26179, r26178, MPFR_RNDN); };
        if (mpfr_get_si(r26145, MPFR_RNDN)) { mpfr_set(r26180, r26155, MPFR_RNDN); } else { mpfr_set(r26180, r26179, MPFR_RNDN); };
        if (mpfr_get_si(r26134, MPFR_RNDN)) { mpfr_set(r26181, r26143, MPFR_RNDN); } else { mpfr_set(r26181, r26180, MPFR_RNDN); };
        return mpfr_get_d(r26181, MPFR_RNDN);
}

