#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 r7755 = b;
        float r7756 = 0.0f;
        bool r7757 = r7755 >= r7756;
        float r7758 = 2.0f;
        float r7759 = c;
        float r7760 = r7758 * r7759;
        float r7761 = -r7755;
        float r7762 = r7755 * r7755;
        float r7763 = 4.0f;
        float r7764 = a;
        float r7765 = r7763 * r7764;
        float r7766 = r7765 * r7759;
        float r7767 = r7762 - r7766;
        float r7768 = sqrt(r7767);
        float r7769 = r7761 - r7768;
        float r7770 = r7760 / r7769;
        float r7771 = r7761 + r7768;
        float r7772 = r7758 * r7764;
        float r7773 = r7771 / r7772;
        float r7774 = r7757 ? r7770 : r7773;
        return r7774;
}

double f_id(double a, double b, double c) {
        double r7775 = b;
        double r7776 = 0.0;
        bool r7777 = r7775 >= r7776;
        double r7778 = 2.0;
        double r7779 = c;
        double r7780 = r7778 * r7779;
        double r7781 = -r7775;
        double r7782 = r7775 * r7775;
        double r7783 = 4.0;
        double r7784 = a;
        double r7785 = r7783 * r7784;
        double r7786 = r7785 * r7779;
        double r7787 = r7782 - r7786;
        double r7788 = sqrt(r7787);
        double r7789 = r7781 - r7788;
        double r7790 = r7780 / r7789;
        double r7791 = r7781 + r7788;
        double r7792 = r7778 * r7784;
        double r7793 = r7791 / r7792;
        double r7794 = r7777 ? r7790 : r7793;
        return r7794;
}


double f_of(float a, float b, float c) {
        float r7795 = b;
        float r7796 = -4.2819276498488225e+82f;
        bool r7797 = r7795 <= r7796;
        float r7798 = 0.0f;
        bool r7799 = r7795 >= r7798;
        float r7800 = 2.0f;
        float r7801 = -r7795;
        float r7802 = r7795 * r7795;
        float r7803 = a;
        float r7804 = 4.0f;
        float r7805 = r7803 * r7804;
        float r7806 = c;
        float r7807 = r7805 * r7806;
        float r7808 = r7802 - r7807;
        float r7809 = sqrt(r7808);
        float r7810 = r7801 - r7809;
        float r7811 = cbrt(r7810);
        float r7812 = r7811 * r7811;
        float r7813 = r7800 / r7812;
        float r7814 = r7806 / r7811;
        float r7815 = r7813 * r7814;
        float r7816 = r7806 / r7795;
        float r7817 = r7795 / r7803;
        float r7818 = r7816 - r7817;
        float r7819 = r7799 ? r7815 : r7818;
        float r7820 = 1.170080853887373e+54f;
        bool r7821 = r7795 <= r7820;
        float r7822 = r7800 * r7806;
        float r7823 = r7822 / r7810;
        float r7824 = sqrt(r7809);
        float r7825 = r7824 * r7824;
        float r7826 = r7825 + r7801;
        float r7827 = r7803 * r7800;
        float r7828 = r7826 / r7827;
        float r7829 = r7799 ? r7823 : r7828;
        float r7830 = r7803 / r7795;
        float r7831 = fma(r7830, r7806, r7801);
        float r7832 = r7831 * r7800;
        float r7833 = r7822 / r7832;
        float r7834 = r7801 + r7809;
        float r7835 = r7834 / r7827;
        float r7836 = r7799 ? r7833 : r7835;
        float r7837 = r7821 ? r7829 : r7836;
        float r7838 = r7797 ? r7819 : r7837;
        return r7838;
}

double f_od(double a, double b, double c) {
        double r7839 = b;
        double r7840 = -4.2819276498488225e+82;
        bool r7841 = r7839 <= r7840;
        double r7842 = 0.0;
        bool r7843 = r7839 >= r7842;
        double r7844 = 2.0;
        double r7845 = -r7839;
        double r7846 = r7839 * r7839;
        double r7847 = a;
        double r7848 = 4.0;
        double r7849 = r7847 * r7848;
        double r7850 = c;
        double r7851 = r7849 * r7850;
        double r7852 = r7846 - r7851;
        double r7853 = sqrt(r7852);
        double r7854 = r7845 - r7853;
        double r7855 = cbrt(r7854);
        double r7856 = r7855 * r7855;
        double r7857 = r7844 / r7856;
        double r7858 = r7850 / r7855;
        double r7859 = r7857 * r7858;
        double r7860 = r7850 / r7839;
        double r7861 = r7839 / r7847;
        double r7862 = r7860 - r7861;
        double r7863 = r7843 ? r7859 : r7862;
        double r7864 = 1.170080853887373e+54;
        bool r7865 = r7839 <= r7864;
        double r7866 = r7844 * r7850;
        double r7867 = r7866 / r7854;
        double r7868 = sqrt(r7853);
        double r7869 = r7868 * r7868;
        double r7870 = r7869 + r7845;
        double r7871 = r7847 * r7844;
        double r7872 = r7870 / r7871;
        double r7873 = r7843 ? r7867 : r7872;
        double r7874 = r7847 / r7839;
        double r7875 = fma(r7874, r7850, r7845);
        double r7876 = r7875 * r7844;
        double r7877 = r7866 / r7876;
        double r7878 = r7845 + r7853;
        double r7879 = r7878 / r7871;
        double r7880 = r7843 ? r7877 : r7879;
        double r7881 = r7865 ? r7873 : r7880;
        double r7882 = r7841 ? r7863 : r7881;
        return r7882;
}

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 r7883, r7884, r7885, r7886, r7887, r7888, r7889, r7890, r7891, r7892, r7893, r7894, r7895, r7896, r7897, r7898, r7899, r7900, r7901, r7902;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r7883);
        mpfr_init_set_str(r7884, "0", 10, MPFR_RNDN);
        mpfr_init(r7885);
        mpfr_init_set_str(r7886, "2", 10, MPFR_RNDN);
        mpfr_init(r7887);
        mpfr_init(r7888);
        mpfr_init(r7889);
        mpfr_init(r7890);
        mpfr_init_set_str(r7891, "4", 10, MPFR_RNDN);
        mpfr_init(r7892);
        mpfr_init(r7893);
        mpfr_init(r7894);
        mpfr_init(r7895);
        mpfr_init(r7896);
        mpfr_init(r7897);
        mpfr_init(r7898);
        mpfr_init(r7899);
        mpfr_init(r7900);
        mpfr_init(r7901);
        mpfr_init(r7902);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r7883, b, MPFR_RNDN);
        ;
        mpfr_set_si(r7885, mpfr_cmp(r7883, r7884) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r7887, c, MPFR_RNDN);
        mpfr_mul(r7888, r7886, r7887, MPFR_RNDN);
        mpfr_neg(r7889, r7883, MPFR_RNDN);
        mpfr_mul(r7890, r7883, r7883, MPFR_RNDN);
        ;
        mpfr_set_d(r7892, a, MPFR_RNDN);
        mpfr_mul(r7893, r7891, r7892, MPFR_RNDN);
        mpfr_mul(r7894, r7893, r7887, MPFR_RNDN);
        mpfr_sub(r7895, r7890, r7894, MPFR_RNDN);
        mpfr_sqrt(r7896, r7895, MPFR_RNDN);
        mpfr_sub(r7897, r7889, r7896, MPFR_RNDN);
        mpfr_div(r7898, r7888, r7897, MPFR_RNDN);
        mpfr_add(r7899, r7889, r7896, MPFR_RNDN);
        mpfr_mul(r7900, r7886, r7892, MPFR_RNDN);
        mpfr_div(r7901, r7899, r7900, MPFR_RNDN);
        if (mpfr_get_si(r7885, MPFR_RNDN)) { mpfr_set(r7902, r7898, MPFR_RNDN); } else { mpfr_set(r7902, r7901, MPFR_RNDN); };
        return mpfr_get_d(r7902, MPFR_RNDN);
}

static mpfr_t r7903, r7904, r7905, r7906, r7907, r7908, r7909, r7910, r7911, r7912, r7913, r7914, r7915, r7916, r7917, r7918, r7919, r7920, r7921, r7922, r7923, r7924, r7925, r7926, r7927, r7928, r7929, r7930, r7931, r7932, r7933, r7934, r7935, r7936, r7937, r7938, r7939, r7940, r7941, r7942, r7943, r7944, r7945, r7946;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r7903);
        mpfr_init_set_str(r7904, "-4.2819276498488225e+82", 10, MPFR_RNDN);
        mpfr_init(r7905);
        mpfr_init_set_str(r7906, "0", 10, MPFR_RNDN);
        mpfr_init(r7907);
        mpfr_init_set_str(r7908, "2", 10, MPFR_RNDN);
        mpfr_init(r7909);
        mpfr_init(r7910);
        mpfr_init(r7911);
        mpfr_init_set_str(r7912, "4", 10, MPFR_RNDN);
        mpfr_init(r7913);
        mpfr_init(r7914);
        mpfr_init(r7915);
        mpfr_init(r7916);
        mpfr_init(r7917);
        mpfr_init(r7918);
        mpfr_init(r7919);
        mpfr_init(r7920);
        mpfr_init(r7921);
        mpfr_init(r7922);
        mpfr_init(r7923);
        mpfr_init(r7924);
        mpfr_init(r7925);
        mpfr_init(r7926);
        mpfr_init(r7927);
        mpfr_init_set_str(r7928, "1.170080853887373e+54", 10, MPFR_RNDN);
        mpfr_init(r7929);
        mpfr_init(r7930);
        mpfr_init(r7931);
        mpfr_init(r7932);
        mpfr_init(r7933);
        mpfr_init(r7934);
        mpfr_init(r7935);
        mpfr_init(r7936);
        mpfr_init(r7937);
        mpfr_init(r7938);
        mpfr_init(r7939);
        mpfr_init(r7940);
        mpfr_init(r7941);
        mpfr_init(r7942);
        mpfr_init(r7943);
        mpfr_init(r7944);
        mpfr_init(r7945);
        mpfr_init(r7946);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r7903, b, MPFR_RNDN);
        ;
        mpfr_set_si(r7905, mpfr_cmp(r7903, r7904) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r7907, mpfr_cmp(r7903, r7906) >= 0, MPFR_RNDN);
        ;
        mpfr_neg(r7909, r7903, MPFR_RNDN);
        mpfr_mul(r7910, r7903, r7903, MPFR_RNDN);
        mpfr_set_d(r7911, a, MPFR_RNDN);
        ;
        mpfr_mul(r7913, r7911, r7912, MPFR_RNDN);
        mpfr_set_d(r7914, c, MPFR_RNDN);
        mpfr_mul(r7915, r7913, r7914, MPFR_RNDN);
        mpfr_sub(r7916, r7910, r7915, MPFR_RNDN);
        mpfr_sqrt(r7917, r7916, MPFR_RNDN);
        mpfr_sub(r7918, r7909, r7917, MPFR_RNDN);
        mpfr_cbrt(r7919, r7918, MPFR_RNDN);
        mpfr_mul(r7920, r7919, r7919, MPFR_RNDN);
        mpfr_div(r7921, r7908, r7920, MPFR_RNDN);
        mpfr_div(r7922, r7914, r7919, MPFR_RNDN);
        mpfr_mul(r7923, r7921, r7922, MPFR_RNDN);
        mpfr_div(r7924, r7914, r7903, MPFR_RNDN);
        mpfr_div(r7925, r7903, r7911, MPFR_RNDN);
        mpfr_sub(r7926, r7924, r7925, MPFR_RNDN);
        if (mpfr_get_si(r7907, MPFR_RNDN)) { mpfr_set(r7927, r7923, MPFR_RNDN); } else { mpfr_set(r7927, r7926, MPFR_RNDN); };
        ;
        mpfr_set_si(r7929, mpfr_cmp(r7903, r7928) <= 0, MPFR_RNDN);
        mpfr_mul(r7930, r7908, r7914, MPFR_RNDN);
        mpfr_div(r7931, r7930, r7918, MPFR_RNDN);
        mpfr_sqrt(r7932, r7917, MPFR_RNDN);
        mpfr_mul(r7933, r7932, r7932, MPFR_RNDN);
        mpfr_add(r7934, r7933, r7909, MPFR_RNDN);
        mpfr_mul(r7935, r7911, r7908, MPFR_RNDN);
        mpfr_div(r7936, r7934, r7935, MPFR_RNDN);
        if (mpfr_get_si(r7907, MPFR_RNDN)) { mpfr_set(r7937, r7931, MPFR_RNDN); } else { mpfr_set(r7937, r7936, MPFR_RNDN); };
        mpfr_div(r7938, r7911, r7903, MPFR_RNDN);
        mpfr_fma(r7939, r7938, r7914, r7909, MPFR_RNDN);
        mpfr_mul(r7940, r7939, r7908, MPFR_RNDN);
        mpfr_div(r7941, r7930, r7940, MPFR_RNDN);
        mpfr_add(r7942, r7909, r7917, MPFR_RNDN);
        mpfr_div(r7943, r7942, r7935, MPFR_RNDN);
        if (mpfr_get_si(r7907, MPFR_RNDN)) { mpfr_set(r7944, r7941, MPFR_RNDN); } else { mpfr_set(r7944, r7943, MPFR_RNDN); };
        if (mpfr_get_si(r7929, MPFR_RNDN)) { mpfr_set(r7945, r7937, MPFR_RNDN); } else { mpfr_set(r7945, r7944, MPFR_RNDN); };
        if (mpfr_get_si(r7905, MPFR_RNDN)) { mpfr_set(r7946, r7927, MPFR_RNDN); } else { mpfr_set(r7946, r7945, MPFR_RNDN); };
        return mpfr_get_d(r7946, MPFR_RNDN);
}

static mpfr_t r7947, r7948, r7949, r7950, r7951, r7952, r7953, r7954, r7955, r7956, r7957, r7958, r7959, r7960, r7961, r7962, r7963, r7964, r7965, r7966, r7967, r7968, r7969, r7970, r7971, r7972, r7973, r7974, r7975, r7976, r7977, r7978, r7979, r7980, r7981, r7982, r7983, r7984, r7985, r7986, r7987, r7988, r7989, r7990;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r7947);
        mpfr_init_set_str(r7948, "-4.2819276498488225e+82", 10, MPFR_RNDN);
        mpfr_init(r7949);
        mpfr_init_set_str(r7950, "0", 10, MPFR_RNDN);
        mpfr_init(r7951);
        mpfr_init_set_str(r7952, "2", 10, MPFR_RNDN);
        mpfr_init(r7953);
        mpfr_init(r7954);
        mpfr_init(r7955);
        mpfr_init_set_str(r7956, "4", 10, MPFR_RNDN);
        mpfr_init(r7957);
        mpfr_init(r7958);
        mpfr_init(r7959);
        mpfr_init(r7960);
        mpfr_init(r7961);
        mpfr_init(r7962);
        mpfr_init(r7963);
        mpfr_init(r7964);
        mpfr_init(r7965);
        mpfr_init(r7966);
        mpfr_init(r7967);
        mpfr_init(r7968);
        mpfr_init(r7969);
        mpfr_init(r7970);
        mpfr_init(r7971);
        mpfr_init_set_str(r7972, "1.170080853887373e+54", 10, MPFR_RNDN);
        mpfr_init(r7973);
        mpfr_init(r7974);
        mpfr_init(r7975);
        mpfr_init(r7976);
        mpfr_init(r7977);
        mpfr_init(r7978);
        mpfr_init(r7979);
        mpfr_init(r7980);
        mpfr_init(r7981);
        mpfr_init(r7982);
        mpfr_init(r7983);
        mpfr_init(r7984);
        mpfr_init(r7985);
        mpfr_init(r7986);
        mpfr_init(r7987);
        mpfr_init(r7988);
        mpfr_init(r7989);
        mpfr_init(r7990);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r7947, b, MPFR_RNDN);
        ;
        mpfr_set_si(r7949, mpfr_cmp(r7947, r7948) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r7951, mpfr_cmp(r7947, r7950) >= 0, MPFR_RNDN);
        ;
        mpfr_neg(r7953, r7947, MPFR_RNDN);
        mpfr_mul(r7954, r7947, r7947, MPFR_RNDN);
        mpfr_set_d(r7955, a, MPFR_RNDN);
        ;
        mpfr_mul(r7957, r7955, r7956, MPFR_RNDN);
        mpfr_set_d(r7958, c, MPFR_RNDN);
        mpfr_mul(r7959, r7957, r7958, MPFR_RNDN);
        mpfr_sub(r7960, r7954, r7959, MPFR_RNDN);
        mpfr_sqrt(r7961, r7960, MPFR_RNDN);
        mpfr_sub(r7962, r7953, r7961, MPFR_RNDN);
        mpfr_cbrt(r7963, r7962, MPFR_RNDN);
        mpfr_mul(r7964, r7963, r7963, MPFR_RNDN);
        mpfr_div(r7965, r7952, r7964, MPFR_RNDN);
        mpfr_div(r7966, r7958, r7963, MPFR_RNDN);
        mpfr_mul(r7967, r7965, r7966, MPFR_RNDN);
        mpfr_div(r7968, r7958, r7947, MPFR_RNDN);
        mpfr_div(r7969, r7947, r7955, MPFR_RNDN);
        mpfr_sub(r7970, r7968, r7969, MPFR_RNDN);
        if (mpfr_get_si(r7951, MPFR_RNDN)) { mpfr_set(r7971, r7967, MPFR_RNDN); } else { mpfr_set(r7971, r7970, MPFR_RNDN); };
        ;
        mpfr_set_si(r7973, mpfr_cmp(r7947, r7972) <= 0, MPFR_RNDN);
        mpfr_mul(r7974, r7952, r7958, MPFR_RNDN);
        mpfr_div(r7975, r7974, r7962, MPFR_RNDN);
        mpfr_sqrt(r7976, r7961, MPFR_RNDN);
        mpfr_mul(r7977, r7976, r7976, MPFR_RNDN);
        mpfr_add(r7978, r7977, r7953, MPFR_RNDN);
        mpfr_mul(r7979, r7955, r7952, MPFR_RNDN);
        mpfr_div(r7980, r7978, r7979, MPFR_RNDN);
        if (mpfr_get_si(r7951, MPFR_RNDN)) { mpfr_set(r7981, r7975, MPFR_RNDN); } else { mpfr_set(r7981, r7980, MPFR_RNDN); };
        mpfr_div(r7982, r7955, r7947, MPFR_RNDN);
        mpfr_fma(r7983, r7982, r7958, r7953, MPFR_RNDN);
        mpfr_mul(r7984, r7983, r7952, MPFR_RNDN);
        mpfr_div(r7985, r7974, r7984, MPFR_RNDN);
        mpfr_add(r7986, r7953, r7961, MPFR_RNDN);
        mpfr_div(r7987, r7986, r7979, MPFR_RNDN);
        if (mpfr_get_si(r7951, MPFR_RNDN)) { mpfr_set(r7988, r7985, MPFR_RNDN); } else { mpfr_set(r7988, r7987, MPFR_RNDN); };
        if (mpfr_get_si(r7973, MPFR_RNDN)) { mpfr_set(r7989, r7981, MPFR_RNDN); } else { mpfr_set(r7989, r7988, MPFR_RNDN); };
        if (mpfr_get_si(r7949, MPFR_RNDN)) { mpfr_set(r7990, r7971, MPFR_RNDN); } else { mpfr_set(r7990, r7989, MPFR_RNDN); };
        return mpfr_get_d(r7990, MPFR_RNDN);
}

