#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 r26064 = 0.5;
        float r26065 = 2.0;
        float r26066 = re;
        float r26067 = r26066 * r26066;
        float r26068 = im;
        float r26069 = r26068 * r26068;
        float r26070 = r26067 + r26069;
        float r26071 = sqrt(r26070);
        float r26072 = r26071 + r26066;
        float r26073 = r26065 * r26072;
        float r26074 = sqrt(r26073);
        float r26075 = r26064 * r26074;
        return r26075;
}

double f_id(double re, double im) {
        double r26076 = 0.5;
        double r26077 = 2.0;
        double r26078 = re;
        double r26079 = r26078 * r26078;
        double r26080 = im;
        double r26081 = r26080 * r26080;
        double r26082 = r26079 + r26081;
        double r26083 = sqrt(r26082);
        double r26084 = r26083 + r26078;
        double r26085 = r26077 * r26084;
        double r26086 = sqrt(r26085);
        double r26087 = r26076 * r26086;
        return r26087;
}


double f_of(float re, float im) {
        float r26088 = 2.0;
        float r26089 = im;
        float r26090 = re;
        float r26091 = r26089 + r26090;
        float r26092 = r26088 * r26091;
        float r26093 = -2.5225713812668275e+157;
        bool r26094 = r26092 <= r26093;
        float r26095 = fabs(r26089);
        float r26096 = sqrt(r26088);
        float r26097 = r26095 * r26096;
        float r26098 = 0.5;
        float r26099 = r26097 * r26098;
        float r26100 = -r26090;
        float r26101 = r26100 - r26090;
        float r26102 = sqrt(r26101);
        float r26103 = r26099 / r26102;
        float r26104 = -1.05529701206174e-139;
        bool r26105 = r26092 <= r26104;
        float r26106 = r26090 * r26090;
        float r26107 = r26089 * r26089;
        float r26108 = r26106 + r26107;
        float r26109 = sqrt(r26108);
        float r26110 = r26109 - r26090;
        float r26111 = sqrt(r26110);
        float r26112 = r26095 / r26111;
        float r26113 = r26096 * r26112;
        float r26114 = r26098 * r26113;
        float r26115 = 7.394748597539074e-254;
        bool r26116 = r26092 <= r26115;
        float r26117 = 1.2930506326585612e-189;
        bool r26118 = r26092 <= r26117;
        float r26119 = sqrt(r26092);
        float r26120 = r26098 * r26119;
        float r26121 = 1.2275406696693482e+142;
        bool r26122 = r26092 <= r26121;
        float r26123 = sqrt(r26109);
        float r26124 = r26123 * r26123;
        float r26125 = r26124 + r26090;
        float r26126 = r26088 * r26125;
        float r26127 = sqrt(r26126);
        float r26128 = r26098 * r26127;
        float r26129 = 2.7511480905800474e+286;
        bool r26130 = r26092 <= r26129;
        float r26131 = 3.0460774741497173e+296;
        bool r26132 = r26092 <= r26131;
        float r26133 = r26090 + r26090;
        float r26134 = r26088 * r26133;
        float r26135 = sqrt(r26134);
        float r26136 = r26098 * r26135;
        float r26137 = sqrt(r26091);
        float r26138 = r26096 * r26137;
        float r26139 = r26098 * r26138;
        float r26140 = r26132 ? r26136 : r26139;
        float r26141 = r26130 ? r26120 : r26140;
        float r26142 = r26122 ? r26128 : r26141;
        float r26143 = r26118 ? r26120 : r26142;
        float r26144 = r26116 ? r26103 : r26143;
        float r26145 = r26105 ? r26114 : r26144;
        float r26146 = r26094 ? r26103 : r26145;
        return r26146;
}

double f_od(double re, double im) {
        double r26147 = 2.0;
        double r26148 = im;
        double r26149 = re;
        double r26150 = r26148 + r26149;
        double r26151 = r26147 * r26150;
        double r26152 = -2.5225713812668275e+157;
        bool r26153 = r26151 <= r26152;
        double r26154 = fabs(r26148);
        double r26155 = sqrt(r26147);
        double r26156 = r26154 * r26155;
        double r26157 = 0.5;
        double r26158 = r26156 * r26157;
        double r26159 = -r26149;
        double r26160 = r26159 - r26149;
        double r26161 = sqrt(r26160);
        double r26162 = r26158 / r26161;
        double r26163 = -1.05529701206174e-139;
        bool r26164 = r26151 <= r26163;
        double r26165 = r26149 * r26149;
        double r26166 = r26148 * r26148;
        double r26167 = r26165 + r26166;
        double r26168 = sqrt(r26167);
        double r26169 = r26168 - r26149;
        double r26170 = sqrt(r26169);
        double r26171 = r26154 / r26170;
        double r26172 = r26155 * r26171;
        double r26173 = r26157 * r26172;
        double r26174 = 7.394748597539074e-254;
        bool r26175 = r26151 <= r26174;
        double r26176 = 1.2930506326585612e-189;
        bool r26177 = r26151 <= r26176;
        double r26178 = sqrt(r26151);
        double r26179 = r26157 * r26178;
        double r26180 = 1.2275406696693482e+142;
        bool r26181 = r26151 <= r26180;
        double r26182 = sqrt(r26168);
        double r26183 = r26182 * r26182;
        double r26184 = r26183 + r26149;
        double r26185 = r26147 * r26184;
        double r26186 = sqrt(r26185);
        double r26187 = r26157 * r26186;
        double r26188 = 2.7511480905800474e+286;
        bool r26189 = r26151 <= r26188;
        double r26190 = 3.0460774741497173e+296;
        bool r26191 = r26151 <= r26190;
        double r26192 = r26149 + r26149;
        double r26193 = r26147 * r26192;
        double r26194 = sqrt(r26193);
        double r26195 = r26157 * r26194;
        double r26196 = sqrt(r26150);
        double r26197 = r26155 * r26196;
        double r26198 = r26157 * r26197;
        double r26199 = r26191 ? r26195 : r26198;
        double r26200 = r26189 ? r26179 : r26199;
        double r26201 = r26181 ? r26187 : r26200;
        double r26202 = r26177 ? r26179 : r26201;
        double r26203 = r26175 ? r26162 : r26202;
        double r26204 = r26164 ? r26173 : r26203;
        double r26205 = r26153 ? r26162 : r26204;
        return r26205;
}

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 r26206, r26207, r26208, r26209, r26210, r26211, r26212, r26213, r26214, r26215, r26216, r26217;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3664);
        mpfr_init_set_str(r26206, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26207, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26208);
        mpfr_init(r26209);
        mpfr_init(r26210);
        mpfr_init(r26211);
        mpfr_init(r26212);
        mpfr_init(r26213);
        mpfr_init(r26214);
        mpfr_init(r26215);
        mpfr_init(r26216);
        mpfr_init(r26217);
}

double f_im(double re, double im) {
        ;
        ;
        mpfr_set_d(r26208, re, MPFR_RNDN);
        mpfr_mul(r26209, r26208, r26208, MPFR_RNDN);
        mpfr_set_d(r26210, im, MPFR_RNDN);
        mpfr_mul(r26211, r26210, r26210, MPFR_RNDN);
        mpfr_add(r26212, r26209, r26211, MPFR_RNDN);
        mpfr_sqrt(r26213, r26212, MPFR_RNDN);
        mpfr_add(r26214, r26213, r26208, MPFR_RNDN);
        mpfr_mul(r26215, r26207, r26214, MPFR_RNDN);
        mpfr_sqrt(r26216, r26215, MPFR_RNDN);
        mpfr_mul(r26217, r26206, r26216, MPFR_RNDN);
        return mpfr_get_d(r26217, MPFR_RNDN);
}

static mpfr_t 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, r26268, r26269, r26270, r26271, r26272, r26273, r26274, r26275, r26276;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3664);
        mpfr_init_set_str(r26218, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26219);
        mpfr_init(r26220);
        mpfr_init(r26221);
        mpfr_init(r26222);
        mpfr_init_set_str(r26223, "-2.5225713812668275e+157", 10, MPFR_RNDN);
        mpfr_init(r26224);
        mpfr_init(r26225);
        mpfr_init(r26226);
        mpfr_init(r26227);
        mpfr_init_set_str(r26228, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26229);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init_set_str(r26234, "-1.05529701206174e-139", 10, MPFR_RNDN);
        mpfr_init(r26235);
        mpfr_init(r26236);
        mpfr_init(r26237);
        mpfr_init(r26238);
        mpfr_init(r26239);
        mpfr_init(r26240);
        mpfr_init(r26241);
        mpfr_init(r26242);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init_set_str(r26245, "7.394748597539074e-254", 10, MPFR_RNDN);
        mpfr_init(r26246);
        mpfr_init_set_str(r26247, "1.2930506326585612e-189", 10, MPFR_RNDN);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init(r26250);
        mpfr_init_set_str(r26251, "1.2275406696693482e+142", 10, MPFR_RNDN);
        mpfr_init(r26252);
        mpfr_init(r26253);
        mpfr_init(r26254);
        mpfr_init(r26255);
        mpfr_init(r26256);
        mpfr_init(r26257);
        mpfr_init(r26258);
        mpfr_init_set_str(r26259, "2.7511480905800474e+286", 10, MPFR_RNDN);
        mpfr_init(r26260);
        mpfr_init_set_str(r26261, "3.0460774741497173e+296", 10, MPFR_RNDN);
        mpfr_init(r26262);
        mpfr_init(r26263);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
        mpfr_init(r26268);
        mpfr_init(r26269);
        mpfr_init(r26270);
        mpfr_init(r26271);
        mpfr_init(r26272);
        mpfr_init(r26273);
        mpfr_init(r26274);
        mpfr_init(r26275);
        mpfr_init(r26276);
}

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

static mpfr_t 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, r26327, r26328, r26329, r26330, r26331, r26332, r26333, r26334, r26335;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3664);
        mpfr_init_set_str(r26277, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26278);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init(r26281);
        mpfr_init_set_str(r26282, "-2.5225713812668275e+157", 10, MPFR_RNDN);
        mpfr_init(r26283);
        mpfr_init(r26284);
        mpfr_init(r26285);
        mpfr_init(r26286);
        mpfr_init_set_str(r26287, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26288);
        mpfr_init(r26289);
        mpfr_init(r26290);
        mpfr_init(r26291);
        mpfr_init(r26292);
        mpfr_init_set_str(r26293, "-1.05529701206174e-139", 10, MPFR_RNDN);
        mpfr_init(r26294);
        mpfr_init(r26295);
        mpfr_init(r26296);
        mpfr_init(r26297);
        mpfr_init(r26298);
        mpfr_init(r26299);
        mpfr_init(r26300);
        mpfr_init(r26301);
        mpfr_init(r26302);
        mpfr_init(r26303);
        mpfr_init_set_str(r26304, "7.394748597539074e-254", 10, MPFR_RNDN);
        mpfr_init(r26305);
        mpfr_init_set_str(r26306, "1.2930506326585612e-189", 10, MPFR_RNDN);
        mpfr_init(r26307);
        mpfr_init(r26308);
        mpfr_init(r26309);
        mpfr_init_set_str(r26310, "1.2275406696693482e+142", 10, MPFR_RNDN);
        mpfr_init(r26311);
        mpfr_init(r26312);
        mpfr_init(r26313);
        mpfr_init(r26314);
        mpfr_init(r26315);
        mpfr_init(r26316);
        mpfr_init(r26317);
        mpfr_init_set_str(r26318, "2.7511480905800474e+286", 10, MPFR_RNDN);
        mpfr_init(r26319);
        mpfr_init_set_str(r26320, "3.0460774741497173e+296", 10, MPFR_RNDN);
        mpfr_init(r26321);
        mpfr_init(r26322);
        mpfr_init(r26323);
        mpfr_init(r26324);
        mpfr_init(r26325);
        mpfr_init(r26326);
        mpfr_init(r26327);
        mpfr_init(r26328);
        mpfr_init(r26329);
        mpfr_init(r26330);
        mpfr_init(r26331);
        mpfr_init(r26332);
        mpfr_init(r26333);
        mpfr_init(r26334);
        mpfr_init(r26335);
}

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

