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

char *name = "math.abs on complex";

double f_if(float re, float im) {
        float r9273 = re;
        float r9274 = r9273 * r9273;
        float r9275 = im;
        float r9276 = r9275 * r9275;
        float r9277 = r9274 + r9276;
        float r9278 = sqrt(r9277);
        return r9278;
}

double f_id(double re, double im) {
        double r9279 = re;
        double r9280 = r9279 * r9279;
        double r9281 = im;
        double r9282 = r9281 * r9281;
        double r9283 = r9280 + r9282;
        double r9284 = sqrt(r9283);
        return r9284;
}


double f_of(float re, float im) {
        float r9285 = re;
        float r9286 = -r9285;
        float r9287 = -3.1161956129599666e+136f;
        bool r9288 = r9286 <= r9287;
        float r9289 = -3.745115008526117e-236f;
        bool r9290 = r9286 <= r9289;
        float r9291 = im;
        float r9292 = r9291 * r9291;
        float r9293 = r9285 * r9285;
        float r9294 = r9292 + r9293;
        float r9295 = sqrt(r9294);
        float r9296 = -7.688320651497413e-286f;
        bool r9297 = r9286 <= r9296;
        float r9298 = 2.47360553936312e-268f;
        bool r9299 = r9286 <= r9298;
        float r9300 = 8.263368924409109e-182f;
        bool r9301 = r9286 <= r9300;
        float r9302 = 3.251636425894959e+153f;
        bool r9303 = r9286 <= r9302;
        float r9304 = r9303 ? r9295 : r9286;
        float r9305 = r9301 ? r9291 : r9304;
        float r9306 = r9299 ? r9295 : r9305;
        float r9307 = r9297 ? r9291 : r9306;
        float r9308 = r9290 ? r9295 : r9307;
        float r9309 = r9288 ? r9285 : r9308;
        return r9309;
}

double f_od(double re, double im) {
        double r9310 = re;
        double r9311 = -r9310;
        double r9312 = -3.1161956129599666e+136;
        bool r9313 = r9311 <= r9312;
        double r9314 = -3.745115008526117e-236;
        bool r9315 = r9311 <= r9314;
        double r9316 = im;
        double r9317 = r9316 * r9316;
        double r9318 = r9310 * r9310;
        double r9319 = r9317 + r9318;
        double r9320 = sqrt(r9319);
        double r9321 = -7.688320651497413e-286;
        bool r9322 = r9311 <= r9321;
        double r9323 = 2.47360553936312e-268;
        bool r9324 = r9311 <= r9323;
        double r9325 = 8.263368924409109e-182;
        bool r9326 = r9311 <= r9325;
        double r9327 = 3.251636425894959e+153;
        bool r9328 = r9311 <= r9327;
        double r9329 = r9328 ? r9320 : r9311;
        double r9330 = r9326 ? r9316 : r9329;
        double r9331 = r9324 ? r9320 : r9330;
        double r9332 = r9322 ? r9316 : r9331;
        double r9333 = r9315 ? r9320 : r9332;
        double r9334 = r9313 ? r9310 : r9333;
        return r9334;
}

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 r9335, r9336, r9337, r9338, r9339, r9340;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r9335);
        mpfr_init(r9336);
        mpfr_init(r9337);
        mpfr_init(r9338);
        mpfr_init(r9339);
        mpfr_init(r9340);
}

double f_im(double re, double im) {
        mpfr_set_d(r9335, re, MPFR_RNDN);
        mpfr_mul(r9336, r9335, r9335, MPFR_RNDN);
        mpfr_set_d(r9337, im, MPFR_RNDN);
        mpfr_mul(r9338, r9337, r9337, MPFR_RNDN);
        mpfr_add(r9339, r9336, r9338, MPFR_RNDN);
        mpfr_sqrt(r9340, r9339, MPFR_RNDN);
        return mpfr_get_d(r9340, MPFR_RNDN);
}

static mpfr_t r9341, r9342, r9343, r9344, r9345, r9346, r9347, r9348, r9349, r9350, r9351, r9352, r9353, r9354, r9355, r9356, r9357, r9358, r9359, r9360, r9361, r9362, r9363, r9364, r9365;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9341);
        mpfr_init(r9342);
        mpfr_init_set_str(r9343, "-3.1161956129599666e+136", 10, MPFR_RNDN);
        mpfr_init(r9344);
        mpfr_init_set_str(r9345, "-3.745115008526117e-236", 10, MPFR_RNDN);
        mpfr_init(r9346);
        mpfr_init(r9347);
        mpfr_init(r9348);
        mpfr_init(r9349);
        mpfr_init(r9350);
        mpfr_init(r9351);
        mpfr_init_set_str(r9352, "-7.688320651497413e-286", 10, MPFR_RNDN);
        mpfr_init(r9353);
        mpfr_init_set_str(r9354, "2.47360553936312e-268", 10, MPFR_RNDN);
        mpfr_init(r9355);
        mpfr_init_set_str(r9356, "8.263368924409109e-182", 10, MPFR_RNDN);
        mpfr_init(r9357);
        mpfr_init_set_str(r9358, "3.251636425894959e+153", 10, MPFR_RNDN);
        mpfr_init(r9359);
        mpfr_init(r9360);
        mpfr_init(r9361);
        mpfr_init(r9362);
        mpfr_init(r9363);
        mpfr_init(r9364);
        mpfr_init(r9365);
}

double f_fm(double re, double im) {
        mpfr_set_d(r9341, re, MPFR_RNDN);
        mpfr_neg(r9342, r9341, MPFR_RNDN);
        ;
        mpfr_set_si(r9344, mpfr_cmp(r9342, r9343) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9346, mpfr_cmp(r9342, r9345) <= 0, MPFR_RNDN);
        mpfr_set_d(r9347, im, MPFR_RNDN);
        mpfr_mul(r9348, r9347, r9347, MPFR_RNDN);
        mpfr_mul(r9349, r9341, r9341, MPFR_RNDN);
        mpfr_add(r9350, r9348, r9349, MPFR_RNDN);
        mpfr_sqrt(r9351, r9350, MPFR_RNDN);
        ;
        mpfr_set_si(r9353, mpfr_cmp(r9342, r9352) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9355, mpfr_cmp(r9342, r9354) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9357, mpfr_cmp(r9342, r9356) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9359, mpfr_cmp(r9342, r9358) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r9359, MPFR_RNDN)) { mpfr_set(r9360, r9351, MPFR_RNDN); } else { mpfr_set(r9360, r9342, MPFR_RNDN); };
        if (mpfr_get_si(r9357, MPFR_RNDN)) { mpfr_set(r9361, r9347, MPFR_RNDN); } else { mpfr_set(r9361, r9360, MPFR_RNDN); };
        if (mpfr_get_si(r9355, MPFR_RNDN)) { mpfr_set(r9362, r9351, MPFR_RNDN); } else { mpfr_set(r9362, r9361, MPFR_RNDN); };
        if (mpfr_get_si(r9353, MPFR_RNDN)) { mpfr_set(r9363, r9347, MPFR_RNDN); } else { mpfr_set(r9363, r9362, MPFR_RNDN); };
        if (mpfr_get_si(r9346, MPFR_RNDN)) { mpfr_set(r9364, r9351, MPFR_RNDN); } else { mpfr_set(r9364, r9363, MPFR_RNDN); };
        if (mpfr_get_si(r9344, MPFR_RNDN)) { mpfr_set(r9365, r9341, MPFR_RNDN); } else { mpfr_set(r9365, r9364, MPFR_RNDN); };
        return mpfr_get_d(r9365, MPFR_RNDN);
}

static mpfr_t r9366, r9367, r9368, r9369, r9370, r9371, r9372, r9373, r9374, r9375, r9376, r9377, r9378, r9379, r9380, r9381, r9382, r9383, r9384, r9385, r9386, r9387, r9388, r9389, r9390;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9366);
        mpfr_init(r9367);
        mpfr_init_set_str(r9368, "-3.1161956129599666e+136", 10, MPFR_RNDN);
        mpfr_init(r9369);
        mpfr_init_set_str(r9370, "-3.745115008526117e-236", 10, MPFR_RNDN);
        mpfr_init(r9371);
        mpfr_init(r9372);
        mpfr_init(r9373);
        mpfr_init(r9374);
        mpfr_init(r9375);
        mpfr_init(r9376);
        mpfr_init_set_str(r9377, "-7.688320651497413e-286", 10, MPFR_RNDN);
        mpfr_init(r9378);
        mpfr_init_set_str(r9379, "2.47360553936312e-268", 10, MPFR_RNDN);
        mpfr_init(r9380);
        mpfr_init_set_str(r9381, "8.263368924409109e-182", 10, MPFR_RNDN);
        mpfr_init(r9382);
        mpfr_init_set_str(r9383, "3.251636425894959e+153", 10, MPFR_RNDN);
        mpfr_init(r9384);
        mpfr_init(r9385);
        mpfr_init(r9386);
        mpfr_init(r9387);
        mpfr_init(r9388);
        mpfr_init(r9389);
        mpfr_init(r9390);
}

double f_dm(double re, double im) {
        mpfr_set_d(r9366, re, MPFR_RNDN);
        mpfr_neg(r9367, r9366, MPFR_RNDN);
        ;
        mpfr_set_si(r9369, mpfr_cmp(r9367, r9368) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9371, mpfr_cmp(r9367, r9370) <= 0, MPFR_RNDN);
        mpfr_set_d(r9372, im, MPFR_RNDN);
        mpfr_mul(r9373, r9372, r9372, MPFR_RNDN);
        mpfr_mul(r9374, r9366, r9366, MPFR_RNDN);
        mpfr_add(r9375, r9373, r9374, MPFR_RNDN);
        mpfr_sqrt(r9376, r9375, MPFR_RNDN);
        ;
        mpfr_set_si(r9378, mpfr_cmp(r9367, r9377) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9380, mpfr_cmp(r9367, r9379) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9382, mpfr_cmp(r9367, r9381) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9384, mpfr_cmp(r9367, r9383) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r9384, MPFR_RNDN)) { mpfr_set(r9385, r9376, MPFR_RNDN); } else { mpfr_set(r9385, r9367, MPFR_RNDN); };
        if (mpfr_get_si(r9382, MPFR_RNDN)) { mpfr_set(r9386, r9372, MPFR_RNDN); } else { mpfr_set(r9386, r9385, MPFR_RNDN); };
        if (mpfr_get_si(r9380, MPFR_RNDN)) { mpfr_set(r9387, r9376, MPFR_RNDN); } else { mpfr_set(r9387, r9386, MPFR_RNDN); };
        if (mpfr_get_si(r9378, MPFR_RNDN)) { mpfr_set(r9388, r9372, MPFR_RNDN); } else { mpfr_set(r9388, r9387, MPFR_RNDN); };
        if (mpfr_get_si(r9371, MPFR_RNDN)) { mpfr_set(r9389, r9376, MPFR_RNDN); } else { mpfr_set(r9389, r9388, MPFR_RNDN); };
        if (mpfr_get_si(r9369, MPFR_RNDN)) { mpfr_set(r9390, r9366, MPFR_RNDN); } else { mpfr_set(r9390, r9389, MPFR_RNDN); };
        return mpfr_get_d(r9390, MPFR_RNDN);
}

