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

char *name = "From Warwick Tucker's Validated Numerics";

double f_if() {
        float r32655 = 333.75;
        float r32656 = 33096;
        float r32657 = 6;
        float r32658 = pow(r32656, r32657);
        float r32659 = r32655 * r32658;
        float r32660 = 77617;
        float r32661 = r32660 * r32660;
        float r32662 = 11;
        float r32663 = r32662 * r32661;
        float r32664 = r32656 * r32656;
        float r32665 = r32663 * r32664;
        float r32666 = -r32658;
        float r32667 = r32665 + r32666;
        float r32668 = -121;
        float r32669 = 4;
        float r32670 = pow(r32656, r32669);
        float r32671 = r32668 * r32670;
        float r32672 = r32667 + r32671;
        float r32673 = -2;
        float r32674 = r32672 + r32673;
        float r32675 = r32661 * r32674;
        float r32676 = r32659 + r32675;
        float r32677 = 5.5;
        float r32678 = 8;
        float r32679 = pow(r32656, r32678);
        float r32680 = r32677 * r32679;
        float r32681 = r32676 + r32680;
        float r32682 = 2;
        float r32683 = r32682 * r32656;
        float r32684 = r32660 / r32683;
        float r32685 = r32681 + r32684;
        return r32685;
}

double f_id() {
        double r32686 = 333.75;
        double r32687 = 33096;
        double r32688 = 6;
        double r32689 = pow(r32687, r32688);
        double r32690 = r32686 * r32689;
        double r32691 = 77617;
        double r32692 = r32691 * r32691;
        double r32693 = 11;
        double r32694 = r32693 * r32692;
        double r32695 = r32687 * r32687;
        double r32696 = r32694 * r32695;
        double r32697 = -r32689;
        double r32698 = r32696 + r32697;
        double r32699 = -121;
        double r32700 = 4;
        double r32701 = pow(r32687, r32700);
        double r32702 = r32699 * r32701;
        double r32703 = r32698 + r32702;
        double r32704 = -2;
        double r32705 = r32703 + r32704;
        double r32706 = r32692 * r32705;
        double r32707 = r32690 + r32706;
        double r32708 = 5.5;
        double r32709 = 8;
        double r32710 = pow(r32687, r32709);
        double r32711 = r32708 * r32710;
        double r32712 = r32707 + r32711;
        double r32713 = 2;
        double r32714 = r32713 * r32687;
        double r32715 = r32691 / r32714;
        double r32716 = r32712 + r32715;
        return r32716;
}


double f_of() {
        float r32717 = 333.75;
        float r32718 = 33096;
        float r32719 = 6;
        float r32720 = pow(r32718, r32719);
        float r32721 = r32717 * r32720;
        float r32722 = 77617;
        float r32723 = r32722 * r32722;
        float r32724 = 11;
        float r32725 = r32724 * r32723;
        float r32726 = r32718 * r32718;
        float r32727 = r32725 * r32726;
        float r32728 = -r32720;
        float r32729 = r32727 + r32728;
        float r32730 = -121;
        float r32731 = 4;
        float r32732 = pow(r32718, r32731);
        float r32733 = r32730 * r32732;
        float r32734 = r32729 + r32733;
        float r32735 = -2;
        float r32736 = r32734 + r32735;
        float r32737 = r32723 * r32736;
        float r32738 = r32721 + r32737;
        float r32739 = r32738 * r32738;
        float r32740 = 5.5;
        float r32741 = 8;
        float r32742 = pow(r32718, r32741);
        float r32743 = r32740 * r32742;
        float r32744 = r32743 * r32743;
        float r32745 = r32739 - r32744;
        float r32746 = log(r32745);
        float r32747 = cbrt(r32746);
        float r32748 = r32747 * r32747;
        float r32749 = exp(r32748);
        float r32750 = pow(r32749, r32747);
        float r32751 = r32738 - r32743;
        float r32752 = r32750 / r32751;
        float r32753 = 2;
        float r32754 = r32753 * r32718;
        float r32755 = r32722 / r32754;
        float r32756 = r32752 + r32755;
        return r32756;
}

double f_od() {
        double r32757 = 333.75;
        double r32758 = 33096;
        double r32759 = 6;
        double r32760 = pow(r32758, r32759);
        double r32761 = r32757 * r32760;
        double r32762 = 77617;
        double r32763 = r32762 * r32762;
        double r32764 = 11;
        double r32765 = r32764 * r32763;
        double r32766 = r32758 * r32758;
        double r32767 = r32765 * r32766;
        double r32768 = -r32760;
        double r32769 = r32767 + r32768;
        double r32770 = -121;
        double r32771 = 4;
        double r32772 = pow(r32758, r32771);
        double r32773 = r32770 * r32772;
        double r32774 = r32769 + r32773;
        double r32775 = -2;
        double r32776 = r32774 + r32775;
        double r32777 = r32763 * r32776;
        double r32778 = r32761 + r32777;
        double r32779 = r32778 * r32778;
        double r32780 = 5.5;
        double r32781 = 8;
        double r32782 = pow(r32758, r32781);
        double r32783 = r32780 * r32782;
        double r32784 = r32783 * r32783;
        double r32785 = r32779 - r32784;
        double r32786 = log(r32785);
        double r32787 = cbrt(r32786);
        double r32788 = r32787 * r32787;
        double r32789 = exp(r32788);
        double r32790 = pow(r32789, r32787);
        double r32791 = r32778 - r32783;
        double r32792 = r32790 / r32791;
        double r32793 = 2;
        double r32794 = r32793 * r32758;
        double r32795 = r32762 / r32794;
        double r32796 = r32792 + r32795;
        return r32796;
}

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 r32797, r32798, r32799, r32800, r32801, r32802, r32803, r32804, r32805, r32806, r32807, r32808, r32809, r32810, r32811, r32812, r32813, r32814, r32815, r32816, r32817, r32818, r32819, r32820, r32821, r32822, r32823, r32824, r32825, r32826, r32827;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32797, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32798, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32799, "6", 10, MPFR_RNDN);
        mpfr_init(r32800);
        mpfr_init(r32801);
        mpfr_init_set_str(r32802, "77617", 10, MPFR_RNDN);
        mpfr_init(r32803);
        mpfr_init_set_str(r32804, "11", 10, MPFR_RNDN);
        mpfr_init(r32805);
        mpfr_init(r32806);
        mpfr_init(r32807);
        mpfr_init(r32808);
        mpfr_init(r32809);
        mpfr_init_set_str(r32810, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32811, "4", 10, MPFR_RNDN);
        mpfr_init(r32812);
        mpfr_init(r32813);
        mpfr_init(r32814);
        mpfr_init_set_str(r32815, "-2", 10, MPFR_RNDN);
        mpfr_init(r32816);
        mpfr_init(r32817);
        mpfr_init(r32818);
        mpfr_init_set_str(r32819, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32820, "8", 10, MPFR_RNDN);
        mpfr_init(r32821);
        mpfr_init(r32822);
        mpfr_init(r32823);
        mpfr_init_set_str(r32824, "2", 10, MPFR_RNDN);
        mpfr_init(r32825);
        mpfr_init(r32826);
        mpfr_init(r32827);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r32800, r32798, r32799, MPFR_RNDN);
        mpfr_mul(r32801, r32797, r32800, MPFR_RNDN);
        ;
        mpfr_mul(r32803, r32802, r32802, MPFR_RNDN);
        ;
        mpfr_mul(r32805, r32804, r32803, MPFR_RNDN);
        mpfr_mul(r32806, r32798, r32798, MPFR_RNDN);
        mpfr_mul(r32807, r32805, r32806, MPFR_RNDN);
        mpfr_neg(r32808, r32800, MPFR_RNDN);
        mpfr_add(r32809, r32807, r32808, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32812, r32798, r32811, MPFR_RNDN);
        mpfr_mul(r32813, r32810, r32812, MPFR_RNDN);
        mpfr_add(r32814, r32809, r32813, MPFR_RNDN);
        ;
        mpfr_add(r32816, r32814, r32815, MPFR_RNDN);
        mpfr_mul(r32817, r32803, r32816, MPFR_RNDN);
        mpfr_add(r32818, r32801, r32817, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32821, r32798, r32820, MPFR_RNDN);
        mpfr_mul(r32822, r32819, r32821, MPFR_RNDN);
        mpfr_add(r32823, r32818, r32822, MPFR_RNDN);
        ;
        mpfr_mul(r32825, r32824, r32798, MPFR_RNDN);
        mpfr_div(r32826, r32802, r32825, MPFR_RNDN);
        mpfr_add(r32827, r32823, r32826, MPFR_RNDN);
        return mpfr_get_d(r32827, MPFR_RNDN);
}

static mpfr_t r32828, r32829, r32830, r32831, r32832, r32833, r32834, r32835, r32836, r32837, r32838, r32839, r32840, r32841, r32842, r32843, r32844, r32845, r32846, r32847, r32848, r32849, r32850, r32851, r32852, r32853, r32854, r32855, r32856, r32857, r32858, r32859, r32860, r32861, r32862, r32863, r32864, r32865, r32866, r32867;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32828, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32829, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32830, "6", 10, MPFR_RNDN);
        mpfr_init(r32831);
        mpfr_init(r32832);
        mpfr_init_set_str(r32833, "77617", 10, MPFR_RNDN);
        mpfr_init(r32834);
        mpfr_init_set_str(r32835, "11", 10, MPFR_RNDN);
        mpfr_init(r32836);
        mpfr_init(r32837);
        mpfr_init(r32838);
        mpfr_init(r32839);
        mpfr_init(r32840);
        mpfr_init_set_str(r32841, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32842, "4", 10, MPFR_RNDN);
        mpfr_init(r32843);
        mpfr_init(r32844);
        mpfr_init(r32845);
        mpfr_init_set_str(r32846, "-2", 10, MPFR_RNDN);
        mpfr_init(r32847);
        mpfr_init(r32848);
        mpfr_init(r32849);
        mpfr_init(r32850);
        mpfr_init_set_str(r32851, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32852, "8", 10, MPFR_RNDN);
        mpfr_init(r32853);
        mpfr_init(r32854);
        mpfr_init(r32855);
        mpfr_init(r32856);
        mpfr_init(r32857);
        mpfr_init(r32858);
        mpfr_init(r32859);
        mpfr_init(r32860);
        mpfr_init(r32861);
        mpfr_init(r32862);
        mpfr_init(r32863);
        mpfr_init_set_str(r32864, "2", 10, MPFR_RNDN);
        mpfr_init(r32865);
        mpfr_init(r32866);
        mpfr_init(r32867);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r32831, r32829, r32830, MPFR_RNDN);
        mpfr_mul(r32832, r32828, r32831, MPFR_RNDN);
        ;
        mpfr_mul(r32834, r32833, r32833, MPFR_RNDN);
        ;
        mpfr_mul(r32836, r32835, r32834, MPFR_RNDN);
        mpfr_mul(r32837, r32829, r32829, MPFR_RNDN);
        mpfr_mul(r32838, r32836, r32837, MPFR_RNDN);
        mpfr_neg(r32839, r32831, MPFR_RNDN);
        mpfr_add(r32840, r32838, r32839, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32843, r32829, r32842, MPFR_RNDN);
        mpfr_mul(r32844, r32841, r32843, MPFR_RNDN);
        mpfr_add(r32845, r32840, r32844, MPFR_RNDN);
        ;
        mpfr_add(r32847, r32845, r32846, MPFR_RNDN);
        mpfr_mul(r32848, r32834, r32847, MPFR_RNDN);
        mpfr_add(r32849, r32832, r32848, MPFR_RNDN);
        mpfr_mul(r32850, r32849, r32849, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32853, r32829, r32852, MPFR_RNDN);
        mpfr_mul(r32854, r32851, r32853, MPFR_RNDN);
        mpfr_mul(r32855, r32854, r32854, MPFR_RNDN);
        mpfr_sub(r32856, r32850, r32855, MPFR_RNDN);
        mpfr_log(r32857, r32856, MPFR_RNDN);
        mpfr_cbrt(r32858, r32857, MPFR_RNDN);
        mpfr_mul(r32859, r32858, r32858, MPFR_RNDN);
        mpfr_exp(r32860, r32859, MPFR_RNDN);
        mpfr_pow(r32861, r32860, r32858, MPFR_RNDN);
        mpfr_sub(r32862, r32849, r32854, MPFR_RNDN);
        mpfr_div(r32863, r32861, r32862, MPFR_RNDN);
        ;
        mpfr_mul(r32865, r32864, r32829, MPFR_RNDN);
        mpfr_div(r32866, r32833, r32865, MPFR_RNDN);
        mpfr_add(r32867, r32863, r32866, MPFR_RNDN);
        return mpfr_get_d(r32867, MPFR_RNDN);
}

static mpfr_t r32868, r32869, r32870, r32871, r32872, r32873, r32874, r32875, r32876, r32877, r32878, r32879, r32880, r32881, r32882, r32883, r32884, r32885, r32886, r32887, r32888, r32889, r32890, r32891, r32892, r32893, r32894, r32895, r32896, r32897, r32898, r32899, r32900, r32901, r32902, r32903, r32904, r32905, r32906, r32907;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32868, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32869, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32870, "6", 10, MPFR_RNDN);
        mpfr_init(r32871);
        mpfr_init(r32872);
        mpfr_init_set_str(r32873, "77617", 10, MPFR_RNDN);
        mpfr_init(r32874);
        mpfr_init_set_str(r32875, "11", 10, MPFR_RNDN);
        mpfr_init(r32876);
        mpfr_init(r32877);
        mpfr_init(r32878);
        mpfr_init(r32879);
        mpfr_init(r32880);
        mpfr_init_set_str(r32881, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32882, "4", 10, MPFR_RNDN);
        mpfr_init(r32883);
        mpfr_init(r32884);
        mpfr_init(r32885);
        mpfr_init_set_str(r32886, "-2", 10, MPFR_RNDN);
        mpfr_init(r32887);
        mpfr_init(r32888);
        mpfr_init(r32889);
        mpfr_init(r32890);
        mpfr_init_set_str(r32891, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32892, "8", 10, MPFR_RNDN);
        mpfr_init(r32893);
        mpfr_init(r32894);
        mpfr_init(r32895);
        mpfr_init(r32896);
        mpfr_init(r32897);
        mpfr_init(r32898);
        mpfr_init(r32899);
        mpfr_init(r32900);
        mpfr_init(r32901);
        mpfr_init(r32902);
        mpfr_init(r32903);
        mpfr_init_set_str(r32904, "2", 10, MPFR_RNDN);
        mpfr_init(r32905);
        mpfr_init(r32906);
        mpfr_init(r32907);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_pow(r32871, r32869, r32870, MPFR_RNDN);
        mpfr_mul(r32872, r32868, r32871, MPFR_RNDN);
        ;
        mpfr_mul(r32874, r32873, r32873, MPFR_RNDN);
        ;
        mpfr_mul(r32876, r32875, r32874, MPFR_RNDN);
        mpfr_mul(r32877, r32869, r32869, MPFR_RNDN);
        mpfr_mul(r32878, r32876, r32877, MPFR_RNDN);
        mpfr_neg(r32879, r32871, MPFR_RNDN);
        mpfr_add(r32880, r32878, r32879, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32883, r32869, r32882, MPFR_RNDN);
        mpfr_mul(r32884, r32881, r32883, MPFR_RNDN);
        mpfr_add(r32885, r32880, r32884, MPFR_RNDN);
        ;
        mpfr_add(r32887, r32885, r32886, MPFR_RNDN);
        mpfr_mul(r32888, r32874, r32887, MPFR_RNDN);
        mpfr_add(r32889, r32872, r32888, MPFR_RNDN);
        mpfr_mul(r32890, r32889, r32889, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32893, r32869, r32892, MPFR_RNDN);
        mpfr_mul(r32894, r32891, r32893, MPFR_RNDN);
        mpfr_mul(r32895, r32894, r32894, MPFR_RNDN);
        mpfr_sub(r32896, r32890, r32895, MPFR_RNDN);
        mpfr_log(r32897, r32896, MPFR_RNDN);
        mpfr_cbrt(r32898, r32897, MPFR_RNDN);
        mpfr_mul(r32899, r32898, r32898, MPFR_RNDN);
        mpfr_exp(r32900, r32899, MPFR_RNDN);
        mpfr_pow(r32901, r32900, r32898, MPFR_RNDN);
        mpfr_sub(r32902, r32889, r32894, MPFR_RNDN);
        mpfr_div(r32903, r32901, r32902, MPFR_RNDN);
        ;
        mpfr_mul(r32905, r32904, r32869, MPFR_RNDN);
        mpfr_div(r32906, r32873, r32905, MPFR_RNDN);
        mpfr_add(r32907, r32903, r32906, MPFR_RNDN);
        return mpfr_get_d(r32907, MPFR_RNDN);
}

