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

char *name = "3.9.1 imaginary part (p56)";

double f_if() {
        float r8758 = -1.0f;
        float r8759 = 1.0f;
        float r8760 = /* ERROR: no complex support in C */;
        float r8761 = r8760 * r8760;
        float r8762 = r8761 * r8760;
        float r8763 = r8762 * r8760;
        float r8764 = r8763 * r8760;
        float r8765 = r8764 * r8760;
        float r8766 = 6.0f;
        float r8767 = 0.0f;
        float r8768 = /* ERROR: no complex support in C */;
        float r8769 = r8768 * r8760;
        float r8770 = r8769 * r8760;
        float r8771 = r8770 * r8760;
        float r8772 = r8771 * r8760;
        float r8773 = r8772 * r8760;
        float r8774 = r8765 + r8773;
        float r8775 = 15.0f;
        float r8776 = /* ERROR: no complex support in C */;
        float r8777 = r8776 * r8760;
        float r8778 = r8777 * r8760;
        float r8779 = r8778 * r8760;
        float r8780 = r8779 * r8760;
        float r8781 = r8774 + r8780;
        float r8782 = 20.0f;
        float r8783 = /* ERROR: no complex support in C */;
        float r8784 = r8783 * r8760;
        float r8785 = r8784 * r8760;
        float r8786 = r8785 * r8760;
        float r8787 = r8781 + r8786;
        float r8788 = r8787 + r8778;
        float r8789 = r8788 + r8769;
        float r8790 = /* ERROR: no complex support in C */;
        float r8791 = r8789 + r8790;
        float r8792 = /* ERROR: no complex support in C */;
        return r8792;
}

double f_id() {
        double r8793 = -1.0;
        double r8794 = 1.0;
        double r8795 = /* ERROR: no complex support in C */;
        double r8796 = r8795 * r8795;
        double r8797 = r8796 * r8795;
        double r8798 = r8797 * r8795;
        double r8799 = r8798 * r8795;
        double r8800 = r8799 * r8795;
        double r8801 = 6.0;
        double r8802 = 0.0;
        double r8803 = /* ERROR: no complex support in C */;
        double r8804 = r8803 * r8795;
        double r8805 = r8804 * r8795;
        double r8806 = r8805 * r8795;
        double r8807 = r8806 * r8795;
        double r8808 = r8807 * r8795;
        double r8809 = r8800 + r8808;
        double r8810 = 15.0;
        double r8811 = /* ERROR: no complex support in C */;
        double r8812 = r8811 * r8795;
        double r8813 = r8812 * r8795;
        double r8814 = r8813 * r8795;
        double r8815 = r8814 * r8795;
        double r8816 = r8809 + r8815;
        double r8817 = 20.0;
        double r8818 = /* ERROR: no complex support in C */;
        double r8819 = r8818 * r8795;
        double r8820 = r8819 * r8795;
        double r8821 = r8820 * r8795;
        double r8822 = r8816 + r8821;
        double r8823 = r8822 + r8813;
        double r8824 = r8823 + r8804;
        double r8825 = /* ERROR: no complex support in C */;
        double r8826 = r8824 + r8825;
        double r8827 = /* ERROR: no complex support in C */;
        return r8827;
}


double f_of() {
        float r8828 = -1.0f;
        float r8829 = 15.0f;
        float r8830 = -r8829;
        float r8831 = fma(r8828, r8830, r8830);
        float r8832 = r8829 + r8829;
        float r8833 = -r8832;
        float r8834 = /* ERROR: no complex support in C */;
        float r8835 = 20.0f;
        float r8836 = -r8835;
        float r8837 = r8836 + r8829;
        float r8838 = /* ERROR: no complex support in C */;
        float r8839 = r8834 + r8838;
        float r8840 = 1.0f;
        float r8841 = /* ERROR: no complex support in C */;
        float r8842 = r8841 * r8841;
        float r8843 = r8839 * r8842;
        float r8844 = r8842 * r8842;
        float r8845 = 6.0f;
        float r8846 = -r8845;
        float r8847 = /* ERROR: no complex support in C */;
        float r8848 = r8847 + r8842;
        float r8849 = r8844 * r8848;
        float r8850 = r8840 + r8846;
        float r8851 = /* ERROR: no complex support in C */;
        float r8852 = r8849 + r8851;
        float r8853 = r8843 + r8852;
        float r8854 = /* ERROR: no complex support in C */;
        return r8854;
}

double f_od() {
        double r8855 = -1.0;
        double r8856 = 15.0;
        double r8857 = -r8856;
        double r8858 = fma(r8855, r8857, r8857);
        double r8859 = r8856 + r8856;
        double r8860 = -r8859;
        double r8861 = /* ERROR: no complex support in C */;
        double r8862 = 20.0;
        double r8863 = -r8862;
        double r8864 = r8863 + r8856;
        double r8865 = /* ERROR: no complex support in C */;
        double r8866 = r8861 + r8865;
        double r8867 = 1.0;
        double r8868 = /* ERROR: no complex support in C */;
        double r8869 = r8868 * r8868;
        double r8870 = r8866 * r8869;
        double r8871 = r8869 * r8869;
        double r8872 = 6.0;
        double r8873 = -r8872;
        double r8874 = /* ERROR: no complex support in C */;
        double r8875 = r8874 + r8869;
        double r8876 = r8871 * r8875;
        double r8877 = r8867 + r8873;
        double r8878 = /* ERROR: no complex support in C */;
        double r8879 = r8876 + r8878;
        double r8880 = r8870 + r8879;
        double r8881 = /* ERROR: no complex support in C */;
        return r8881;
}

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 r8882, r8883, r8884, r8885, r8886, r8887, r8888, r8889, r8890, r8891, r8892, r8893, r8894, r8895, r8896, r8897, r8898, r8899, r8900, r8901, r8902, r8903, r8904, r8905, r8906, r8907, r8908, r8909, r8910, r8911, r8912, r8913, r8914, r8915, r8916;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r8882, "-1", 10, MPFR_RNDN);
        mpfr_init_set_str(r8883, "1", 10, MPFR_RNDN);
        mpfr_init(r8884);
        mpfr_init(r8885);
        mpfr_init(r8886);
        mpfr_init(r8887);
        mpfr_init(r8888);
        mpfr_init(r8889);
        mpfr_init_set_str(r8890, "6", 10, MPFR_RNDN);
        mpfr_init_set_str(r8891, "0", 10, MPFR_RNDN);
        mpfr_init(r8892);
        mpfr_init(r8893);
        mpfr_init(r8894);
        mpfr_init(r8895);
        mpfr_init(r8896);
        mpfr_init(r8897);
        mpfr_init(r8898);
        mpfr_init_set_str(r8899, "15", 10, MPFR_RNDN);
        mpfr_init(r8900);
        mpfr_init(r8901);
        mpfr_init(r8902);
        mpfr_init(r8903);
        mpfr_init(r8904);
        mpfr_init(r8905);
        mpfr_init_set_str(r8906, "20", 10, MPFR_RNDN);
        mpfr_init(r8907);
        mpfr_init(r8908);
        mpfr_init(r8909);
        mpfr_init(r8910);
        mpfr_init(r8911);
        mpfr_init(r8912);
        mpfr_init(r8913);
        mpfr_init(r8914);
        mpfr_init(r8915);
        mpfr_init(r8916);
}

double f_im() {
        ;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        return mpfr_get_d(r8916, MPFR_RNDN);
}

static mpfr_t r8917, r8918, r8919, r8920, r8921, r8922, r8923, r8924, r8925, r8926, r8927, r8928, r8929, r8930, r8931, r8932, r8933, r8934, r8935, r8936, r8937, r8938, r8939, r8940, r8941, r8942, r8943;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r8917, "-1", 10, MPFR_RNDN);
        mpfr_init_set_str(r8918, "15", 10, MPFR_RNDN);
        mpfr_init(r8919);
        mpfr_init(r8920);
        mpfr_init(r8921);
        mpfr_init(r8922);
        mpfr_init(r8923);
        mpfr_init_set_str(r8924, "20", 10, MPFR_RNDN);
        mpfr_init(r8925);
        mpfr_init(r8926);
        mpfr_init(r8927);
        mpfr_init(r8928);
        mpfr_init_set_str(r8929, "1", 10, MPFR_RNDN);
        mpfr_init(r8930);
        mpfr_init(r8931);
        mpfr_init(r8932);
        mpfr_init(r8933);
        mpfr_init_set_str(r8934, "6", 10, MPFR_RNDN);
        mpfr_init(r8935);
        mpfr_init(r8936);
        mpfr_init(r8937);
        mpfr_init(r8938);
        mpfr_init(r8939);
        mpfr_init(r8940);
        mpfr_init(r8941);
        mpfr_init(r8942);
        mpfr_init(r8943);
}

double f_fm() {
        ;
        ;
        mpfr_neg(r8919, r8918, MPFR_RNDN);
        mpfr_fma(r8920, r8917, r8919, r8919, MPFR_RNDN);
        mpfr_add(r8921, r8918, r8918, MPFR_RNDN);
        mpfr_neg(r8922, r8921, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        ;
        mpfr_neg(r8925, r8924, MPFR_RNDN);
        mpfr_add(r8926, r8925, r8918, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        mpfr_neg(r8935, r8934, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        mpfr_add(r8939, r8929, r8935, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        return mpfr_get_d(r8943, MPFR_RNDN);
}

static mpfr_t r8944, r8945, r8946, r8947, r8948, r8949, r8950, r8951, r8952, r8953, r8954, r8955, r8956, r8957, r8958, r8959, r8960, r8961, r8962, r8963, r8964, r8965, r8966, r8967, r8968, r8969, r8970;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r8944, "-1", 10, MPFR_RNDN);
        mpfr_init_set_str(r8945, "15", 10, MPFR_RNDN);
        mpfr_init(r8946);
        mpfr_init(r8947);
        mpfr_init(r8948);
        mpfr_init(r8949);
        mpfr_init(r8950);
        mpfr_init_set_str(r8951, "20", 10, MPFR_RNDN);
        mpfr_init(r8952);
        mpfr_init(r8953);
        mpfr_init(r8954);
        mpfr_init(r8955);
        mpfr_init_set_str(r8956, "1", 10, MPFR_RNDN);
        mpfr_init(r8957);
        mpfr_init(r8958);
        mpfr_init(r8959);
        mpfr_init(r8960);
        mpfr_init_set_str(r8961, "6", 10, MPFR_RNDN);
        mpfr_init(r8962);
        mpfr_init(r8963);
        mpfr_init(r8964);
        mpfr_init(r8965);
        mpfr_init(r8966);
        mpfr_init(r8967);
        mpfr_init(r8968);
        mpfr_init(r8969);
        mpfr_init(r8970);
}

double f_dm() {
        ;
        ;
        mpfr_neg(r8946, r8945, MPFR_RNDN);
        mpfr_fma(r8947, r8944, r8946, r8946, MPFR_RNDN);
        mpfr_add(r8948, r8945, r8945, MPFR_RNDN);
        mpfr_neg(r8949, r8948, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        ;
        mpfr_neg(r8952, r8951, MPFR_RNDN);
        mpfr_add(r8953, r8952, r8945, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        mpfr_neg(r8962, r8961, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        mpfr_add(r8966, r8956, r8962, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        return mpfr_get_d(r8970, MPFR_RNDN);
}

