#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 r26055 = 0.5;
        float r26056 = 2.0;
        float r26057 = re;
        float r26058 = r26057 * r26057;
        float r26059 = im;
        float r26060 = r26059 * r26059;
        float r26061 = r26058 + r26060;
        float r26062 = sqrt(r26061);
        float r26063 = r26062 + r26057;
        float r26064 = r26056 * r26063;
        float r26065 = sqrt(r26064);
        float r26066 = r26055 * r26065;
        return r26066;
}

double f_id(double re, double im) {
        double r26067 = 0.5;
        double r26068 = 2.0;
        double r26069 = re;
        double r26070 = r26069 * r26069;
        double r26071 = im;
        double r26072 = r26071 * r26071;
        double r26073 = r26070 + r26072;
        double r26074 = sqrt(r26073);
        double r26075 = r26074 + r26069;
        double r26076 = r26068 * r26075;
        double r26077 = sqrt(r26076);
        double r26078 = r26067 * r26077;
        return r26078;
}


double f_of(float re, float im) {
        float r26079 = im;
        float r26080 = re;
        float r26081 = r26079 + r26080;
        float r26082 = -1.2612856906334137e+157;
        bool r26083 = r26081 <= r26082;
        float r26084 = fabs(r26079);
        float r26085 = 2.0;
        float r26086 = sqrt(r26085);
        float r26087 = r26084 * r26086;
        float r26088 = 0.5;
        float r26089 = r26087 * r26088;
        float r26090 = -r26080;
        float r26091 = r26090 - r26080;
        float r26092 = sqrt(r26091);
        float r26093 = r26089 / r26092;
        float r26094 = -5.4707400485860105e-139;
        bool r26095 = r26081 <= r26094;
        float r26096 = r26080 * r26080;
        float r26097 = r26079 * r26079;
        float r26098 = r26096 + r26097;
        float r26099 = sqrt(r26098);
        float r26100 = r26099 - r26080;
        float r26101 = sqrt(r26100);
        float r26102 = r26084 / r26101;
        float r26103 = r26086 * r26102;
        float r26104 = r26088 * r26103;
        float r26105 = 3.697374298769537e-254;
        bool r26106 = r26081 <= r26105;
        float r26107 = 6.465253163292806e-190;
        bool r26108 = r26081 <= r26107;
        float r26109 = r26085 * r26081;
        float r26110 = sqrt(r26109);
        float r26111 = r26088 * r26110;
        float r26112 = 6.137703348346741e+141;
        bool r26113 = r26081 <= r26112;
        float r26114 = sqrt(r26099);
        float r26115 = r26114 * r26114;
        float r26116 = r26115 + r26080;
        float r26117 = r26085 * r26116;
        float r26118 = sqrt(r26117);
        float r26119 = r26088 * r26118;
        float r26120 = 1.1138279320716406e+286;
        bool r26121 = r26081 <= r26120;
        float r26122 = 1.1368564734353409e+297;
        bool r26123 = r26081 <= r26122;
        float r26124 = r26080 + r26080;
        float r26125 = r26085 * r26124;
        float r26126 = sqrt(r26125);
        float r26127 = r26088 * r26126;
        float r26128 = sqrt(r26081);
        float r26129 = r26086 * r26128;
        float r26130 = r26088 * r26129;
        float r26131 = r26123 ? r26127 : r26130;
        float r26132 = r26121 ? r26111 : r26131;
        float r26133 = r26113 ? r26119 : r26132;
        float r26134 = r26108 ? r26111 : r26133;
        float r26135 = r26106 ? r26093 : r26134;
        float r26136 = r26095 ? r26104 : r26135;
        float r26137 = r26083 ? r26093 : r26136;
        return r26137;
}

double f_od(double re, double im) {
        double r26138 = im;
        double r26139 = re;
        double r26140 = r26138 + r26139;
        double r26141 = -1.2612856906334137e+157;
        bool r26142 = r26140 <= r26141;
        double r26143 = fabs(r26138);
        double r26144 = 2.0;
        double r26145 = sqrt(r26144);
        double r26146 = r26143 * r26145;
        double r26147 = 0.5;
        double r26148 = r26146 * r26147;
        double r26149 = -r26139;
        double r26150 = r26149 - r26139;
        double r26151 = sqrt(r26150);
        double r26152 = r26148 / r26151;
        double r26153 = -5.4707400485860105e-139;
        bool r26154 = r26140 <= r26153;
        double r26155 = r26139 * r26139;
        double r26156 = r26138 * r26138;
        double r26157 = r26155 + r26156;
        double r26158 = sqrt(r26157);
        double r26159 = r26158 - r26139;
        double r26160 = sqrt(r26159);
        double r26161 = r26143 / r26160;
        double r26162 = r26145 * r26161;
        double r26163 = r26147 * r26162;
        double r26164 = 3.697374298769537e-254;
        bool r26165 = r26140 <= r26164;
        double r26166 = 6.465253163292806e-190;
        bool r26167 = r26140 <= r26166;
        double r26168 = r26144 * r26140;
        double r26169 = sqrt(r26168);
        double r26170 = r26147 * r26169;
        double r26171 = 6.137703348346741e+141;
        bool r26172 = r26140 <= r26171;
        double r26173 = sqrt(r26158);
        double r26174 = r26173 * r26173;
        double r26175 = r26174 + r26139;
        double r26176 = r26144 * r26175;
        double r26177 = sqrt(r26176);
        double r26178 = r26147 * r26177;
        double r26179 = 1.1138279320716406e+286;
        bool r26180 = r26140 <= r26179;
        double r26181 = 1.1368564734353409e+297;
        bool r26182 = r26140 <= r26181;
        double r26183 = r26139 + r26139;
        double r26184 = r26144 * r26183;
        double r26185 = sqrt(r26184);
        double r26186 = r26147 * r26185;
        double r26187 = sqrt(r26140);
        double r26188 = r26145 * r26187;
        double r26189 = r26147 * r26188;
        double r26190 = r26182 ? r26186 : r26189;
        double r26191 = r26180 ? r26170 : r26190;
        double r26192 = r26172 ? r26178 : r26191;
        double r26193 = r26167 ? r26170 : r26192;
        double r26194 = r26165 ? r26152 : r26193;
        double r26195 = r26154 ? r26163 : r26194;
        double r26196 = r26142 ? r26152 : r26195;
        return r26196;
}

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 r26197, r26198, r26199, r26200, r26201, r26202, r26203, r26204, r26205, r26206, r26207, r26208;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3664);
        mpfr_init_set_str(r26197, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26198, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26199);
        mpfr_init(r26200);
        mpfr_init(r26201);
        mpfr_init(r26202);
        mpfr_init(r26203);
        mpfr_init(r26204);
        mpfr_init(r26205);
        mpfr_init(r26206);
        mpfr_init(r26207);
        mpfr_init(r26208);
}

double f_im(double re, double im) {
        ;
        ;
        mpfr_set_d(r26199, re, MPFR_RNDN);
        mpfr_mul(r26200, r26199, r26199, MPFR_RNDN);
        mpfr_set_d(r26201, im, MPFR_RNDN);
        mpfr_mul(r26202, r26201, r26201, MPFR_RNDN);
        mpfr_add(r26203, r26200, r26202, MPFR_RNDN);
        mpfr_sqrt(r26204, r26203, MPFR_RNDN);
        mpfr_add(r26205, r26204, r26199, MPFR_RNDN);
        mpfr_mul(r26206, r26198, r26205, MPFR_RNDN);
        mpfr_sqrt(r26207, r26206, MPFR_RNDN);
        mpfr_mul(r26208, r26197, r26207, MPFR_RNDN);
        return mpfr_get_d(r26208, MPFR_RNDN);
}

static mpfr_t r26209, r26210, r26211, r26212, r26213, r26214, r26215, r26216, r26217, r26218, r26219, r26220, r26221, r26222, r26223, r26224, r26225, r26226, r26227, r26228, r26229, r26230, r26231, r26232, r26233, r26234, r26235, r26236, r26237, r26238, r26239, r26240, r26241, r26242, r26243, r26244, r26245, r26246, r26247, r26248, r26249, r26250, r26251, r26252, r26253, r26254, r26255, r26256, r26257, r26258, r26259, r26260, r26261, r26262, r26263, r26264, r26265, r26266, r26267;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3664);
        mpfr_init(r26209);
        mpfr_init(r26210);
        mpfr_init(r26211);
        mpfr_init_set_str(r26212, "-1.2612856906334137e+157", 10, MPFR_RNDN);
        mpfr_init(r26213);
        mpfr_init(r26214);
        mpfr_init_set_str(r26215, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26216);
        mpfr_init(r26217);
        mpfr_init_set_str(r26218, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26219);
        mpfr_init(r26220);
        mpfr_init(r26221);
        mpfr_init(r26222);
        mpfr_init(r26223);
        mpfr_init_set_str(r26224, "-5.4707400485860105e-139", 10, MPFR_RNDN);
        mpfr_init(r26225);
        mpfr_init(r26226);
        mpfr_init(r26227);
        mpfr_init(r26228);
        mpfr_init(r26229);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init_set_str(r26235, "3.697374298769537e-254", 10, MPFR_RNDN);
        mpfr_init(r26236);
        mpfr_init_set_str(r26237, "6.465253163292806e-190", 10, MPFR_RNDN);
        mpfr_init(r26238);
        mpfr_init(r26239);
        mpfr_init(r26240);
        mpfr_init(r26241);
        mpfr_init_set_str(r26242, "6.137703348346741e+141", 10, MPFR_RNDN);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init(r26245);
        mpfr_init(r26246);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init_set_str(r26250, "1.1138279320716406e+286", 10, MPFR_RNDN);
        mpfr_init(r26251);
        mpfr_init_set_str(r26252, "1.1368564734353409e+297", 10, MPFR_RNDN);
        mpfr_init(r26253);
        mpfr_init(r26254);
        mpfr_init(r26255);
        mpfr_init(r26256);
        mpfr_init(r26257);
        mpfr_init(r26258);
        mpfr_init(r26259);
        mpfr_init(r26260);
        mpfr_init(r26261);
        mpfr_init(r26262);
        mpfr_init(r26263);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
}

double f_fm(double re, double im) {
        mpfr_set_d(r26209, im, MPFR_RNDN);
        mpfr_set_d(r26210, re, MPFR_RNDN);
        mpfr_add(r26211, r26209, r26210, MPFR_RNDN);
        ;
        mpfr_set_si(r26213, mpfr_cmp(r26211, r26212) <= 0, MPFR_RNDN);
        mpfr_abs(r26214, r26209, MPFR_RNDN);
        ;
        mpfr_sqrt(r26216, r26215, MPFR_RNDN);
        mpfr_mul(r26217, r26214, r26216, MPFR_RNDN);
        ;
        mpfr_mul(r26219, r26217, r26218, MPFR_RNDN);
        mpfr_neg(r26220, r26210, MPFR_RNDN);
        mpfr_sub(r26221, r26220, r26210, MPFR_RNDN);
        mpfr_sqrt(r26222, r26221, MPFR_RNDN);
        mpfr_div(r26223, r26219, r26222, MPFR_RNDN);
        ;
        mpfr_set_si(r26225, mpfr_cmp(r26211, r26224) <= 0, MPFR_RNDN);
        mpfr_mul(r26226, r26210, r26210, MPFR_RNDN);
        mpfr_mul(r26227, r26209, r26209, MPFR_RNDN);
        mpfr_add(r26228, r26226, r26227, MPFR_RNDN);
        mpfr_sqrt(r26229, r26228, MPFR_RNDN);
        mpfr_sub(r26230, r26229, r26210, MPFR_RNDN);
        mpfr_sqrt(r26231, r26230, MPFR_RNDN);
        mpfr_div(r26232, r26214, r26231, MPFR_RNDN);
        mpfr_mul(r26233, r26216, r26232, MPFR_RNDN);
        mpfr_mul(r26234, r26218, r26233, MPFR_RNDN);
        ;
        mpfr_set_si(r26236, mpfr_cmp(r26211, r26235) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26238, mpfr_cmp(r26211, r26237) <= 0, MPFR_RNDN);
        mpfr_mul(r26239, r26215, r26211, MPFR_RNDN);
        mpfr_sqrt(r26240, r26239, MPFR_RNDN);
        mpfr_mul(r26241, r26218, r26240, MPFR_RNDN);
        ;
        mpfr_set_si(r26243, mpfr_cmp(r26211, r26242) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26244, r26229, MPFR_RNDN);
        mpfr_mul(r26245, r26244, r26244, MPFR_RNDN);
        mpfr_add(r26246, r26245, r26210, MPFR_RNDN);
        mpfr_mul(r26247, r26215, r26246, MPFR_RNDN);
        mpfr_sqrt(r26248, r26247, MPFR_RNDN);
        mpfr_mul(r26249, r26218, r26248, MPFR_RNDN);
        ;
        mpfr_set_si(r26251, mpfr_cmp(r26211, r26250) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26253, mpfr_cmp(r26211, r26252) <= 0, MPFR_RNDN);
        mpfr_add(r26254, r26210, r26210, MPFR_RNDN);
        mpfr_mul(r26255, r26215, r26254, MPFR_RNDN);
        mpfr_sqrt(r26256, r26255, MPFR_RNDN);
        mpfr_mul(r26257, r26218, r26256, MPFR_RNDN);
        mpfr_sqrt(r26258, r26211, MPFR_RNDN);
        mpfr_mul(r26259, r26216, r26258, MPFR_RNDN);
        mpfr_mul(r26260, r26218, r26259, MPFR_RNDN);
        if (mpfr_get_si(r26253, MPFR_RNDN)) { mpfr_set(r26261, r26257, MPFR_RNDN); } else { mpfr_set(r26261, r26260, MPFR_RNDN); };
        if (mpfr_get_si(r26251, MPFR_RNDN)) { mpfr_set(r26262, r26241, MPFR_RNDN); } else { mpfr_set(r26262, r26261, MPFR_RNDN); };
        if (mpfr_get_si(r26243, MPFR_RNDN)) { mpfr_set(r26263, r26249, MPFR_RNDN); } else { mpfr_set(r26263, r26262, MPFR_RNDN); };
        if (mpfr_get_si(r26238, MPFR_RNDN)) { mpfr_set(r26264, r26241, MPFR_RNDN); } else { mpfr_set(r26264, r26263, MPFR_RNDN); };
        if (mpfr_get_si(r26236, MPFR_RNDN)) { mpfr_set(r26265, r26223, MPFR_RNDN); } else { mpfr_set(r26265, r26264, MPFR_RNDN); };
        if (mpfr_get_si(r26225, MPFR_RNDN)) { mpfr_set(r26266, r26234, MPFR_RNDN); } else { mpfr_set(r26266, r26265, MPFR_RNDN); };
        if (mpfr_get_si(r26213, MPFR_RNDN)) { mpfr_set(r26267, r26223, MPFR_RNDN); } else { mpfr_set(r26267, r26266, MPFR_RNDN); };
        return mpfr_get_d(r26267, MPFR_RNDN);
}

static mpfr_t r26268, r26269, r26270, r26271, r26272, r26273, r26274, r26275, r26276, r26277, r26278, r26279, r26280, r26281, r26282, r26283, r26284, r26285, r26286, r26287, r26288, r26289, r26290, r26291, r26292, r26293, r26294, r26295, r26296, r26297, r26298, r26299, r26300, r26301, r26302, r26303, r26304, r26305, r26306, r26307, r26308, r26309, r26310, r26311, r26312, r26313, r26314, r26315, r26316, r26317, r26318, r26319, r26320, r26321, r26322, r26323, r26324, r26325, r26326;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3664);
        mpfr_init(r26268);
        mpfr_init(r26269);
        mpfr_init(r26270);
        mpfr_init_set_str(r26271, "-1.2612856906334137e+157", 10, MPFR_RNDN);
        mpfr_init(r26272);
        mpfr_init(r26273);
        mpfr_init_set_str(r26274, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26275);
        mpfr_init(r26276);
        mpfr_init_set_str(r26277, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26278);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init(r26281);
        mpfr_init(r26282);
        mpfr_init_set_str(r26283, "-5.4707400485860105e-139", 10, MPFR_RNDN);
        mpfr_init(r26284);
        mpfr_init(r26285);
        mpfr_init(r26286);
        mpfr_init(r26287);
        mpfr_init(r26288);
        mpfr_init(r26289);
        mpfr_init(r26290);
        mpfr_init(r26291);
        mpfr_init(r26292);
        mpfr_init(r26293);
        mpfr_init_set_str(r26294, "3.697374298769537e-254", 10, MPFR_RNDN);
        mpfr_init(r26295);
        mpfr_init_set_str(r26296, "6.465253163292806e-190", 10, MPFR_RNDN);
        mpfr_init(r26297);
        mpfr_init(r26298);
        mpfr_init(r26299);
        mpfr_init(r26300);
        mpfr_init_set_str(r26301, "6.137703348346741e+141", 10, MPFR_RNDN);
        mpfr_init(r26302);
        mpfr_init(r26303);
        mpfr_init(r26304);
        mpfr_init(r26305);
        mpfr_init(r26306);
        mpfr_init(r26307);
        mpfr_init(r26308);
        mpfr_init_set_str(r26309, "1.1138279320716406e+286", 10, MPFR_RNDN);
        mpfr_init(r26310);
        mpfr_init_set_str(r26311, "1.1368564734353409e+297", 10, MPFR_RNDN);
        mpfr_init(r26312);
        mpfr_init(r26313);
        mpfr_init(r26314);
        mpfr_init(r26315);
        mpfr_init(r26316);
        mpfr_init(r26317);
        mpfr_init(r26318);
        mpfr_init(r26319);
        mpfr_init(r26320);
        mpfr_init(r26321);
        mpfr_init(r26322);
        mpfr_init(r26323);
        mpfr_init(r26324);
        mpfr_init(r26325);
        mpfr_init(r26326);
}

double f_dm(double re, double im) {
        mpfr_set_d(r26268, im, MPFR_RNDN);
        mpfr_set_d(r26269, re, MPFR_RNDN);
        mpfr_add(r26270, r26268, r26269, MPFR_RNDN);
        ;
        mpfr_set_si(r26272, mpfr_cmp(r26270, r26271) <= 0, MPFR_RNDN);
        mpfr_abs(r26273, r26268, MPFR_RNDN);
        ;
        mpfr_sqrt(r26275, r26274, MPFR_RNDN);
        mpfr_mul(r26276, r26273, r26275, MPFR_RNDN);
        ;
        mpfr_mul(r26278, r26276, r26277, MPFR_RNDN);
        mpfr_neg(r26279, r26269, MPFR_RNDN);
        mpfr_sub(r26280, r26279, r26269, MPFR_RNDN);
        mpfr_sqrt(r26281, r26280, MPFR_RNDN);
        mpfr_div(r26282, r26278, r26281, MPFR_RNDN);
        ;
        mpfr_set_si(r26284, mpfr_cmp(r26270, r26283) <= 0, MPFR_RNDN);
        mpfr_mul(r26285, r26269, r26269, MPFR_RNDN);
        mpfr_mul(r26286, r26268, r26268, MPFR_RNDN);
        mpfr_add(r26287, r26285, r26286, MPFR_RNDN);
        mpfr_sqrt(r26288, r26287, MPFR_RNDN);
        mpfr_sub(r26289, r26288, r26269, MPFR_RNDN);
        mpfr_sqrt(r26290, r26289, MPFR_RNDN);
        mpfr_div(r26291, r26273, r26290, MPFR_RNDN);
        mpfr_mul(r26292, r26275, r26291, MPFR_RNDN);
        mpfr_mul(r26293, r26277, r26292, MPFR_RNDN);
        ;
        mpfr_set_si(r26295, mpfr_cmp(r26270, r26294) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26297, mpfr_cmp(r26270, r26296) <= 0, MPFR_RNDN);
        mpfr_mul(r26298, r26274, r26270, MPFR_RNDN);
        mpfr_sqrt(r26299, r26298, MPFR_RNDN);
        mpfr_mul(r26300, r26277, r26299, MPFR_RNDN);
        ;
        mpfr_set_si(r26302, mpfr_cmp(r26270, r26301) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26303, r26288, MPFR_RNDN);
        mpfr_mul(r26304, r26303, r26303, MPFR_RNDN);
        mpfr_add(r26305, r26304, r26269, MPFR_RNDN);
        mpfr_mul(r26306, r26274, r26305, MPFR_RNDN);
        mpfr_sqrt(r26307, r26306, MPFR_RNDN);
        mpfr_mul(r26308, r26277, r26307, MPFR_RNDN);
        ;
        mpfr_set_si(r26310, mpfr_cmp(r26270, r26309) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26312, mpfr_cmp(r26270, r26311) <= 0, MPFR_RNDN);
        mpfr_add(r26313, r26269, r26269, MPFR_RNDN);
        mpfr_mul(r26314, r26274, r26313, MPFR_RNDN);
        mpfr_sqrt(r26315, r26314, MPFR_RNDN);
        mpfr_mul(r26316, r26277, r26315, MPFR_RNDN);
        mpfr_sqrt(r26317, r26270, MPFR_RNDN);
        mpfr_mul(r26318, r26275, r26317, MPFR_RNDN);
        mpfr_mul(r26319, r26277, r26318, MPFR_RNDN);
        if (mpfr_get_si(r26312, MPFR_RNDN)) { mpfr_set(r26320, r26316, MPFR_RNDN); } else { mpfr_set(r26320, r26319, MPFR_RNDN); };
        if (mpfr_get_si(r26310, MPFR_RNDN)) { mpfr_set(r26321, r26300, MPFR_RNDN); } else { mpfr_set(r26321, r26320, MPFR_RNDN); };
        if (mpfr_get_si(r26302, MPFR_RNDN)) { mpfr_set(r26322, r26308, MPFR_RNDN); } else { mpfr_set(r26322, r26321, MPFR_RNDN); };
        if (mpfr_get_si(r26297, MPFR_RNDN)) { mpfr_set(r26323, r26300, MPFR_RNDN); } else { mpfr_set(r26323, r26322, MPFR_RNDN); };
        if (mpfr_get_si(r26295, MPFR_RNDN)) { mpfr_set(r26324, r26282, MPFR_RNDN); } else { mpfr_set(r26324, r26323, MPFR_RNDN); };
        if (mpfr_get_si(r26284, MPFR_RNDN)) { mpfr_set(r26325, r26293, MPFR_RNDN); } else { mpfr_set(r26325, r26324, MPFR_RNDN); };
        if (mpfr_get_si(r26272, MPFR_RNDN)) { mpfr_set(r26326, r26282, MPFR_RNDN); } else { mpfr_set(r26326, r26325, MPFR_RNDN); };
        return mpfr_get_d(r26326, MPFR_RNDN);
}

