#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 r7748 = b;
        float r7749 = 0.0f;
        bool r7750 = r7748 >= r7749;
        float r7751 = 2.0f;
        float r7752 = c;
        float r7753 = r7751 * r7752;
        float r7754 = -r7748;
        float r7755 = r7748 * r7748;
        float r7756 = 4.0f;
        float r7757 = a;
        float r7758 = r7756 * r7757;
        float r7759 = r7758 * r7752;
        float r7760 = r7755 - r7759;
        float r7761 = sqrt(r7760);
        float r7762 = r7754 - r7761;
        float r7763 = r7753 / r7762;
        float r7764 = r7754 + r7761;
        float r7765 = r7751 * r7757;
        float r7766 = r7764 / r7765;
        float r7767 = r7750 ? r7763 : r7766;
        return r7767;
}

double f_id(double a, double b, double c) {
        double r7768 = b;
        double r7769 = 0.0;
        bool r7770 = r7768 >= r7769;
        double r7771 = 2.0;
        double r7772 = c;
        double r7773 = r7771 * r7772;
        double r7774 = -r7768;
        double r7775 = r7768 * r7768;
        double r7776 = 4.0;
        double r7777 = a;
        double r7778 = r7776 * r7777;
        double r7779 = r7778 * r7772;
        double r7780 = r7775 - r7779;
        double r7781 = sqrt(r7780);
        double r7782 = r7774 - r7781;
        double r7783 = r7773 / r7782;
        double r7784 = r7774 + r7781;
        double r7785 = r7771 * r7777;
        double r7786 = r7784 / r7785;
        double r7787 = r7770 ? r7783 : r7786;
        return r7787;
}


double f_of(float a, float b, float c) {
        float r7788 = b;
        float r7789 = -1.338815475246526e+154f;
        bool r7790 = r7788 <= r7789;
        float r7791 = 0.0f;
        bool r7792 = r7788 >= r7791;
        float r7793 = 2.0f;
        float r7794 = c;
        float r7795 = r7793 * r7794;
        float r7796 = -r7788;
        float r7797 = r7788 * r7788;
        float r7798 = 4.0f;
        float r7799 = a;
        float r7800 = r7798 * r7799;
        float r7801 = r7800 * r7794;
        float r7802 = r7797 - r7801;
        float r7803 = sqrt(r7802);
        float r7804 = r7796 - r7803;
        float r7805 = r7795 / r7804;
        float r7806 = r7799 * r7794;
        float r7807 = r7806 / r7788;
        float r7808 = r7793 * r7807;
        float r7809 = r7808 - r7788;
        float r7810 = r7809 + r7796;
        float r7811 = r7793 * r7799;
        float r7812 = r7810 / r7811;
        float r7813 = r7792 ? r7805 : r7812;
        float r7814 = 6.902659491222671e+53f;
        bool r7815 = r7788 <= r7814;
        float r7816 = sqrt(r7803);
        float r7817 = r7816 * r7816;
        float r7818 = r7796 - r7817;
        float r7819 = r7795 / r7818;
        float r7820 = r7803 + r7796;
        float r7821 = r7820 / r7811;
        float r7822 = r7792 ? r7819 : r7821;
        float r7823 = r7788 - r7808;
        float r7824 = r7796 - r7823;
        float r7825 = r7795 / r7824;
        float r7826 = r7792 ? r7825 : r7821;
        float r7827 = r7815 ? r7822 : r7826;
        float r7828 = r7790 ? r7813 : r7827;
        return r7828;
}

double f_od(double a, double b, double c) {
        double r7829 = b;
        double r7830 = -1.338815475246526e+154;
        bool r7831 = r7829 <= r7830;
        double r7832 = 0.0;
        bool r7833 = r7829 >= r7832;
        double r7834 = 2.0;
        double r7835 = c;
        double r7836 = r7834 * r7835;
        double r7837 = -r7829;
        double r7838 = r7829 * r7829;
        double r7839 = 4.0;
        double r7840 = a;
        double r7841 = r7839 * r7840;
        double r7842 = r7841 * r7835;
        double r7843 = r7838 - r7842;
        double r7844 = sqrt(r7843);
        double r7845 = r7837 - r7844;
        double r7846 = r7836 / r7845;
        double r7847 = r7840 * r7835;
        double r7848 = r7847 / r7829;
        double r7849 = r7834 * r7848;
        double r7850 = r7849 - r7829;
        double r7851 = r7850 + r7837;
        double r7852 = r7834 * r7840;
        double r7853 = r7851 / r7852;
        double r7854 = r7833 ? r7846 : r7853;
        double r7855 = 6.902659491222671e+53;
        bool r7856 = r7829 <= r7855;
        double r7857 = sqrt(r7844);
        double r7858 = r7857 * r7857;
        double r7859 = r7837 - r7858;
        double r7860 = r7836 / r7859;
        double r7861 = r7844 + r7837;
        double r7862 = r7861 / r7852;
        double r7863 = r7833 ? r7860 : r7862;
        double r7864 = r7829 - r7849;
        double r7865 = r7837 - r7864;
        double r7866 = r7836 / r7865;
        double r7867 = r7833 ? r7866 : r7862;
        double r7868 = r7856 ? r7863 : r7867;
        double r7869 = r7831 ? r7854 : r7868;
        return r7869;
}

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 r7870, r7871, r7872, r7873, r7874, r7875, r7876, r7877, r7878, r7879, r7880, r7881, r7882, r7883, r7884, r7885, r7886, r7887, r7888, r7889;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r7870);
        mpfr_init_set_str(r7871, "0", 10, MPFR_RNDN);
        mpfr_init(r7872);
        mpfr_init_set_str(r7873, "2", 10, MPFR_RNDN);
        mpfr_init(r7874);
        mpfr_init(r7875);
        mpfr_init(r7876);
        mpfr_init(r7877);
        mpfr_init_set_str(r7878, "4", 10, MPFR_RNDN);
        mpfr_init(r7879);
        mpfr_init(r7880);
        mpfr_init(r7881);
        mpfr_init(r7882);
        mpfr_init(r7883);
        mpfr_init(r7884);
        mpfr_init(r7885);
        mpfr_init(r7886);
        mpfr_init(r7887);
        mpfr_init(r7888);
        mpfr_init(r7889);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r7870, b, MPFR_RNDN);
        ;
        mpfr_set_si(r7872, mpfr_cmp(r7870, r7871) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r7874, c, MPFR_RNDN);
        mpfr_mul(r7875, r7873, r7874, MPFR_RNDN);
        mpfr_neg(r7876, r7870, MPFR_RNDN);
        mpfr_mul(r7877, r7870, r7870, MPFR_RNDN);
        ;
        mpfr_set_d(r7879, a, MPFR_RNDN);
        mpfr_mul(r7880, r7878, r7879, MPFR_RNDN);
        mpfr_mul(r7881, r7880, r7874, MPFR_RNDN);
        mpfr_sub(r7882, r7877, r7881, MPFR_RNDN);
        mpfr_sqrt(r7883, r7882, MPFR_RNDN);
        mpfr_sub(r7884, r7876, r7883, MPFR_RNDN);
        mpfr_div(r7885, r7875, r7884, MPFR_RNDN);
        mpfr_add(r7886, r7876, r7883, MPFR_RNDN);
        mpfr_mul(r7887, r7873, r7879, MPFR_RNDN);
        mpfr_div(r7888, r7886, r7887, MPFR_RNDN);
        if (mpfr_get_si(r7872, MPFR_RNDN)) { mpfr_set(r7889, r7885, MPFR_RNDN); } else { mpfr_set(r7889, r7888, MPFR_RNDN); };
        return mpfr_get_d(r7889, MPFR_RNDN);
}

static mpfr_t r7890, r7891, r7892, r7893, r7894, r7895, r7896, r7897, r7898, r7899, r7900, r7901, r7902, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r7890);
        mpfr_init_set_str(r7891, "-1.338815475246526e+154", 10, MPFR_RNDN);
        mpfr_init(r7892);
        mpfr_init_set_str(r7893, "0", 10, MPFR_RNDN);
        mpfr_init(r7894);
        mpfr_init_set_str(r7895, "2", 10, MPFR_RNDN);
        mpfr_init(r7896);
        mpfr_init(r7897);
        mpfr_init(r7898);
        mpfr_init(r7899);
        mpfr_init_set_str(r7900, "4", 10, MPFR_RNDN);
        mpfr_init(r7901);
        mpfr_init(r7902);
        mpfr_init(r7903);
        mpfr_init(r7904);
        mpfr_init(r7905);
        mpfr_init(r7906);
        mpfr_init(r7907);
        mpfr_init(r7908);
        mpfr_init(r7909);
        mpfr_init(r7910);
        mpfr_init(r7911);
        mpfr_init(r7912);
        mpfr_init(r7913);
        mpfr_init(r7914);
        mpfr_init(r7915);
        mpfr_init_set_str(r7916, "6.902659491222671e+53", 10, MPFR_RNDN);
        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(r7928);
        mpfr_init(r7929);
        mpfr_init(r7930);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r7890, b, MPFR_RNDN);
        ;
        mpfr_set_si(r7892, mpfr_cmp(r7890, r7891) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r7894, mpfr_cmp(r7890, r7893) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r7896, c, MPFR_RNDN);
        mpfr_mul(r7897, r7895, r7896, MPFR_RNDN);
        mpfr_neg(r7898, r7890, MPFR_RNDN);
        mpfr_mul(r7899, r7890, r7890, MPFR_RNDN);
        ;
        mpfr_set_d(r7901, a, MPFR_RNDN);
        mpfr_mul(r7902, r7900, r7901, MPFR_RNDN);
        mpfr_mul(r7903, r7902, r7896, MPFR_RNDN);
        mpfr_sub(r7904, r7899, r7903, MPFR_RNDN);
        mpfr_sqrt(r7905, r7904, MPFR_RNDN);
        mpfr_sub(r7906, r7898, r7905, MPFR_RNDN);
        mpfr_div(r7907, r7897, r7906, MPFR_RNDN);
        mpfr_mul(r7908, r7901, r7896, MPFR_RNDN);
        mpfr_div(r7909, r7908, r7890, MPFR_RNDN);
        mpfr_mul(r7910, r7895, r7909, MPFR_RNDN);
        mpfr_sub(r7911, r7910, r7890, MPFR_RNDN);
        mpfr_add(r7912, r7911, r7898, MPFR_RNDN);
        mpfr_mul(r7913, r7895, r7901, MPFR_RNDN);
        mpfr_div(r7914, r7912, r7913, MPFR_RNDN);
        if (mpfr_get_si(r7894, MPFR_RNDN)) { mpfr_set(r7915, r7907, MPFR_RNDN); } else { mpfr_set(r7915, r7914, MPFR_RNDN); };
        ;
        mpfr_set_si(r7917, mpfr_cmp(r7890, r7916) <= 0, MPFR_RNDN);
        mpfr_sqrt(r7918, r7905, MPFR_RNDN);
        mpfr_mul(r7919, r7918, r7918, MPFR_RNDN);
        mpfr_sub(r7920, r7898, r7919, MPFR_RNDN);
        mpfr_div(r7921, r7897, r7920, MPFR_RNDN);
        mpfr_add(r7922, r7905, r7898, MPFR_RNDN);
        mpfr_div(r7923, r7922, r7913, MPFR_RNDN);
        if (mpfr_get_si(r7894, MPFR_RNDN)) { mpfr_set(r7924, r7921, MPFR_RNDN); } else { mpfr_set(r7924, r7923, MPFR_RNDN); };
        mpfr_sub(r7925, r7890, r7910, MPFR_RNDN);
        mpfr_sub(r7926, r7898, r7925, MPFR_RNDN);
        mpfr_div(r7927, r7897, r7926, MPFR_RNDN);
        if (mpfr_get_si(r7894, MPFR_RNDN)) { mpfr_set(r7928, r7927, MPFR_RNDN); } else { mpfr_set(r7928, r7923, MPFR_RNDN); };
        if (mpfr_get_si(r7917, MPFR_RNDN)) { mpfr_set(r7929, r7924, MPFR_RNDN); } else { mpfr_set(r7929, r7928, MPFR_RNDN); };
        if (mpfr_get_si(r7892, MPFR_RNDN)) { mpfr_set(r7930, r7915, MPFR_RNDN); } else { mpfr_set(r7930, r7929, MPFR_RNDN); };
        return mpfr_get_d(r7930, MPFR_RNDN);
}

static mpfr_t r7931, r7932, r7933, r7934, r7935, r7936, r7937, r7938, r7939, r7940, r7941, r7942, r7943, r7944, r7945, r7946, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r7931);
        mpfr_init_set_str(r7932, "-1.338815475246526e+154", 10, MPFR_RNDN);
        mpfr_init(r7933);
        mpfr_init_set_str(r7934, "0", 10, MPFR_RNDN);
        mpfr_init(r7935);
        mpfr_init_set_str(r7936, "2", 10, MPFR_RNDN);
        mpfr_init(r7937);
        mpfr_init(r7938);
        mpfr_init(r7939);
        mpfr_init(r7940);
        mpfr_init_set_str(r7941, "4", 10, MPFR_RNDN);
        mpfr_init(r7942);
        mpfr_init(r7943);
        mpfr_init(r7944);
        mpfr_init(r7945);
        mpfr_init(r7946);
        mpfr_init(r7947);
        mpfr_init(r7948);
        mpfr_init(r7949);
        mpfr_init(r7950);
        mpfr_init(r7951);
        mpfr_init(r7952);
        mpfr_init(r7953);
        mpfr_init(r7954);
        mpfr_init(r7955);
        mpfr_init(r7956);
        mpfr_init_set_str(r7957, "6.902659491222671e+53", 10, MPFR_RNDN);
        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);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r7931, b, MPFR_RNDN);
        ;
        mpfr_set_si(r7933, mpfr_cmp(r7931, r7932) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r7935, mpfr_cmp(r7931, r7934) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r7937, c, MPFR_RNDN);
        mpfr_mul(r7938, r7936, r7937, MPFR_RNDN);
        mpfr_neg(r7939, r7931, MPFR_RNDN);
        mpfr_mul(r7940, r7931, r7931, MPFR_RNDN);
        ;
        mpfr_set_d(r7942, a, MPFR_RNDN);
        mpfr_mul(r7943, r7941, r7942, MPFR_RNDN);
        mpfr_mul(r7944, r7943, r7937, MPFR_RNDN);
        mpfr_sub(r7945, r7940, r7944, MPFR_RNDN);
        mpfr_sqrt(r7946, r7945, MPFR_RNDN);
        mpfr_sub(r7947, r7939, r7946, MPFR_RNDN);
        mpfr_div(r7948, r7938, r7947, MPFR_RNDN);
        mpfr_mul(r7949, r7942, r7937, MPFR_RNDN);
        mpfr_div(r7950, r7949, r7931, MPFR_RNDN);
        mpfr_mul(r7951, r7936, r7950, MPFR_RNDN);
        mpfr_sub(r7952, r7951, r7931, MPFR_RNDN);
        mpfr_add(r7953, r7952, r7939, MPFR_RNDN);
        mpfr_mul(r7954, r7936, r7942, MPFR_RNDN);
        mpfr_div(r7955, r7953, r7954, MPFR_RNDN);
        if (mpfr_get_si(r7935, MPFR_RNDN)) { mpfr_set(r7956, r7948, MPFR_RNDN); } else { mpfr_set(r7956, r7955, MPFR_RNDN); };
        ;
        mpfr_set_si(r7958, mpfr_cmp(r7931, r7957) <= 0, MPFR_RNDN);
        mpfr_sqrt(r7959, r7946, MPFR_RNDN);
        mpfr_mul(r7960, r7959, r7959, MPFR_RNDN);
        mpfr_sub(r7961, r7939, r7960, MPFR_RNDN);
        mpfr_div(r7962, r7938, r7961, MPFR_RNDN);
        mpfr_add(r7963, r7946, r7939, MPFR_RNDN);
        mpfr_div(r7964, r7963, r7954, MPFR_RNDN);
        if (mpfr_get_si(r7935, MPFR_RNDN)) { mpfr_set(r7965, r7962, MPFR_RNDN); } else { mpfr_set(r7965, r7964, MPFR_RNDN); };
        mpfr_sub(r7966, r7931, r7951, MPFR_RNDN);
        mpfr_sub(r7967, r7939, r7966, MPFR_RNDN);
        mpfr_div(r7968, r7938, r7967, MPFR_RNDN);
        if (mpfr_get_si(r7935, MPFR_RNDN)) { mpfr_set(r7969, r7968, MPFR_RNDN); } else { mpfr_set(r7969, r7964, MPFR_RNDN); };
        if (mpfr_get_si(r7958, MPFR_RNDN)) { mpfr_set(r7970, r7965, MPFR_RNDN); } else { mpfr_set(r7970, r7969, MPFR_RNDN); };
        if (mpfr_get_si(r7933, MPFR_RNDN)) { mpfr_set(r7971, r7956, MPFR_RNDN); } else { mpfr_set(r7971, r7970, MPFR_RNDN); };
        return mpfr_get_d(r7971, MPFR_RNDN);
}

