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

char *name = "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1";

double f_if(float x, float y, float z, float t, float a, float b, float c, float i, float j, float k) {
        float r26640 = x;
        float r26641 = 18.0;
        float r26642 = r26640 * r26641;
        float r26643 = y;
        float r26644 = r26642 * r26643;
        float r26645 = z;
        float r26646 = r26644 * r26645;
        float r26647 = t;
        float r26648 = r26646 * r26647;
        float r26649 = a;
        float r26650 = 4.0;
        float r26651 = r26649 * r26650;
        float r26652 = r26651 * r26647;
        float r26653 = r26648 - r26652;
        float r26654 = b;
        float r26655 = c;
        float r26656 = r26654 * r26655;
        float r26657 = r26653 + r26656;
        float r26658 = r26640 * r26650;
        float r26659 = i;
        float r26660 = r26658 * r26659;
        float r26661 = r26657 - r26660;
        float r26662 = j;
        float r26663 = 27.0;
        float r26664 = r26662 * r26663;
        float r26665 = k;
        float r26666 = r26664 * r26665;
        float r26667 = r26661 - r26666;
        return r26667;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r26668 = x;
        double r26669 = 18.0;
        double r26670 = r26668 * r26669;
        double r26671 = y;
        double r26672 = r26670 * r26671;
        double r26673 = z;
        double r26674 = r26672 * r26673;
        double r26675 = t;
        double r26676 = r26674 * r26675;
        double r26677 = a;
        double r26678 = 4.0;
        double r26679 = r26677 * r26678;
        double r26680 = r26679 * r26675;
        double r26681 = r26676 - r26680;
        double r26682 = b;
        double r26683 = c;
        double r26684 = r26682 * r26683;
        double r26685 = r26681 + r26684;
        double r26686 = r26668 * r26678;
        double r26687 = i;
        double r26688 = r26686 * r26687;
        double r26689 = r26685 - r26688;
        double r26690 = j;
        double r26691 = 27.0;
        double r26692 = r26690 * r26691;
        double r26693 = k;
        double r26694 = r26692 * r26693;
        double r26695 = r26689 - r26694;
        return r26695;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i, float j, float k) {
        float r26696 = 18.0;
        float r26697 = z;
        float r26698 = y;
        float r26699 = r26697 * r26698;
        float r26700 = t;
        float r26701 = x;
        float r26702 = r26700 * r26701;
        float r26703 = r26699 * r26702;
        float r26704 = r26696 * r26703;
        float r26705 = a;
        float r26706 = 4.0;
        float r26707 = r26705 * r26706;
        float r26708 = r26707 * r26700;
        float r26709 = r26704 - r26708;
        float r26710 = b;
        float r26711 = c;
        float r26712 = r26710 * r26711;
        float r26713 = r26709 + r26712;
        float r26714 = r26701 * r26706;
        float r26715 = i;
        float r26716 = r26714 * r26715;
        float r26717 = r26713 - r26716;
        float r26718 = j;
        float r26719 = 27.0;
        float r26720 = r26718 * r26719;
        float r26721 = k;
        float r26722 = r26720 * r26721;
        float r26723 = r26717 - r26722;
        float r26724 = -1.9325221570846234e+305;
        bool r26725 = r26723 <= r26724;
        float r26726 = r26715 * r26714;
        float r26727 = r26712 - r26726;
        float r26728 = r26719 * r26721;
        float r26729 = r26718 * r26728;
        float r26730 = r26727 - r26729;
        float r26731 = r26697 * r26701;
        float r26732 = r26698 * r26696;
        float r26733 = r26731 * r26732;
        float r26734 = r26706 * r26705;
        float r26735 = r26733 - r26734;
        float r26736 = r26700 * r26735;
        float r26737 = r26730 + r26736;
        float r26738 = 1.6903103840338217e+298;
        bool r26739 = r26723 <= r26738;
        float r26740 = r26739 ? r26723 : r26737;
        float r26741 = r26725 ? r26737 : r26740;
        return r26741;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r26742 = 18.0;
        double r26743 = z;
        double r26744 = y;
        double r26745 = r26743 * r26744;
        double r26746 = t;
        double r26747 = x;
        double r26748 = r26746 * r26747;
        double r26749 = r26745 * r26748;
        double r26750 = r26742 * r26749;
        double r26751 = a;
        double r26752 = 4.0;
        double r26753 = r26751 * r26752;
        double r26754 = r26753 * r26746;
        double r26755 = r26750 - r26754;
        double r26756 = b;
        double r26757 = c;
        double r26758 = r26756 * r26757;
        double r26759 = r26755 + r26758;
        double r26760 = r26747 * r26752;
        double r26761 = i;
        double r26762 = r26760 * r26761;
        double r26763 = r26759 - r26762;
        double r26764 = j;
        double r26765 = 27.0;
        double r26766 = r26764 * r26765;
        double r26767 = k;
        double r26768 = r26766 * r26767;
        double r26769 = r26763 - r26768;
        double r26770 = -1.9325221570846234e+305;
        bool r26771 = r26769 <= r26770;
        double r26772 = r26761 * r26760;
        double r26773 = r26758 - r26772;
        double r26774 = r26765 * r26767;
        double r26775 = r26764 * r26774;
        double r26776 = r26773 - r26775;
        double r26777 = r26743 * r26747;
        double r26778 = r26744 * r26742;
        double r26779 = r26777 * r26778;
        double r26780 = r26752 * r26751;
        double r26781 = r26779 - r26780;
        double r26782 = r26746 * r26781;
        double r26783 = r26776 + r26782;
        double r26784 = 1.6903103840338217e+298;
        bool r26785 = r26769 <= r26784;
        double r26786 = r26785 ? r26769 : r26783;
        double r26787 = r26771 ? r26783 : r26786;
        return r26787;
}

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 r26788, r26789, r26790, r26791, r26792, r26793, r26794, r26795, r26796, r26797, r26798, r26799, r26800, r26801, r26802, r26803, r26804, r26805, r26806, r26807, r26808, r26809, r26810, r26811, r26812, r26813, r26814, r26815;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26788);
        mpfr_init_set_str(r26789, "18.0", 10, MPFR_RNDN);
        mpfr_init(r26790);
        mpfr_init(r26791);
        mpfr_init(r26792);
        mpfr_init(r26793);
        mpfr_init(r26794);
        mpfr_init(r26795);
        mpfr_init(r26796);
        mpfr_init(r26797);
        mpfr_init_set_str(r26798, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26799);
        mpfr_init(r26800);
        mpfr_init(r26801);
        mpfr_init(r26802);
        mpfr_init(r26803);
        mpfr_init(r26804);
        mpfr_init(r26805);
        mpfr_init(r26806);
        mpfr_init(r26807);
        mpfr_init(r26808);
        mpfr_init(r26809);
        mpfr_init(r26810);
        mpfr_init_set_str(r26811, "27.0", 10, MPFR_RNDN);
        mpfr_init(r26812);
        mpfr_init(r26813);
        mpfr_init(r26814);
        mpfr_init(r26815);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        mpfr_set_d(r26788, x, MPFR_RNDN);
        ;
        mpfr_mul(r26790, r26788, r26789, MPFR_RNDN);
        mpfr_set_d(r26791, y, MPFR_RNDN);
        mpfr_mul(r26792, r26790, r26791, MPFR_RNDN);
        mpfr_set_d(r26793, z, MPFR_RNDN);
        mpfr_mul(r26794, r26792, r26793, MPFR_RNDN);
        mpfr_set_d(r26795, t, MPFR_RNDN);
        mpfr_mul(r26796, r26794, r26795, MPFR_RNDN);
        mpfr_set_d(r26797, a, MPFR_RNDN);
        ;
        mpfr_mul(r26799, r26797, r26798, MPFR_RNDN);
        mpfr_mul(r26800, r26799, r26795, MPFR_RNDN);
        mpfr_sub(r26801, r26796, r26800, MPFR_RNDN);
        mpfr_set_d(r26802, b, MPFR_RNDN);
        mpfr_set_d(r26803, c, MPFR_RNDN);
        mpfr_mul(r26804, r26802, r26803, MPFR_RNDN);
        mpfr_add(r26805, r26801, r26804, MPFR_RNDN);
        mpfr_mul(r26806, r26788, r26798, MPFR_RNDN);
        mpfr_set_d(r26807, i, MPFR_RNDN);
        mpfr_mul(r26808, r26806, r26807, MPFR_RNDN);
        mpfr_sub(r26809, r26805, r26808, MPFR_RNDN);
        mpfr_set_d(r26810, j, MPFR_RNDN);
        ;
        mpfr_mul(r26812, r26810, r26811, MPFR_RNDN);
        mpfr_set_d(r26813, k, MPFR_RNDN);
        mpfr_mul(r26814, r26812, r26813, MPFR_RNDN);
        mpfr_sub(r26815, r26809, r26814, MPFR_RNDN);
        return mpfr_get_d(r26815, MPFR_RNDN);
}

static mpfr_t r26816, r26817, r26818, r26819, r26820, r26821, r26822, r26823, r26824, r26825, r26826, r26827, r26828, r26829, r26830, r26831, r26832, r26833, r26834, r26835, r26836, r26837, r26838, r26839, r26840, r26841, r26842, r26843, r26844, r26845, r26846, r26847, r26848, r26849, r26850, r26851, r26852, r26853, r26854, r26855, r26856, r26857, r26858, r26859, r26860, r26861;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26816, "18.0", 10, MPFR_RNDN);
        mpfr_init(r26817);
        mpfr_init(r26818);
        mpfr_init(r26819);
        mpfr_init(r26820);
        mpfr_init(r26821);
        mpfr_init(r26822);
        mpfr_init(r26823);
        mpfr_init(r26824);
        mpfr_init(r26825);
        mpfr_init_set_str(r26826, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26827);
        mpfr_init(r26828);
        mpfr_init(r26829);
        mpfr_init(r26830);
        mpfr_init(r26831);
        mpfr_init(r26832);
        mpfr_init(r26833);
        mpfr_init(r26834);
        mpfr_init(r26835);
        mpfr_init(r26836);
        mpfr_init(r26837);
        mpfr_init(r26838);
        mpfr_init_set_str(r26839, "27.0", 10, MPFR_RNDN);
        mpfr_init(r26840);
        mpfr_init(r26841);
        mpfr_init(r26842);
        mpfr_init(r26843);
        mpfr_init_set_str(r26844, "-1.9325221570846234e+305", 10, MPFR_RNDN);
        mpfr_init(r26845);
        mpfr_init(r26846);
        mpfr_init(r26847);
        mpfr_init(r26848);
        mpfr_init(r26849);
        mpfr_init(r26850);
        mpfr_init(r26851);
        mpfr_init(r26852);
        mpfr_init(r26853);
        mpfr_init(r26854);
        mpfr_init(r26855);
        mpfr_init(r26856);
        mpfr_init(r26857);
        mpfr_init_set_str(r26858, "1.6903103840338217e+298", 10, MPFR_RNDN);
        mpfr_init(r26859);
        mpfr_init(r26860);
        mpfr_init(r26861);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        ;
        mpfr_set_d(r26817, z, MPFR_RNDN);
        mpfr_set_d(r26818, y, MPFR_RNDN);
        mpfr_mul(r26819, r26817, r26818, MPFR_RNDN);
        mpfr_set_d(r26820, t, MPFR_RNDN);
        mpfr_set_d(r26821, x, MPFR_RNDN);
        mpfr_mul(r26822, r26820, r26821, MPFR_RNDN);
        mpfr_mul(r26823, r26819, r26822, MPFR_RNDN);
        mpfr_mul(r26824, r26816, r26823, MPFR_RNDN);
        mpfr_set_d(r26825, a, MPFR_RNDN);
        ;
        mpfr_mul(r26827, r26825, r26826, MPFR_RNDN);
        mpfr_mul(r26828, r26827, r26820, MPFR_RNDN);
        mpfr_sub(r26829, r26824, r26828, MPFR_RNDN);
        mpfr_set_d(r26830, b, MPFR_RNDN);
        mpfr_set_d(r26831, c, MPFR_RNDN);
        mpfr_mul(r26832, r26830, r26831, MPFR_RNDN);
        mpfr_add(r26833, r26829, r26832, MPFR_RNDN);
        mpfr_mul(r26834, r26821, r26826, MPFR_RNDN);
        mpfr_set_d(r26835, i, MPFR_RNDN);
        mpfr_mul(r26836, r26834, r26835, MPFR_RNDN);
        mpfr_sub(r26837, r26833, r26836, MPFR_RNDN);
        mpfr_set_d(r26838, j, MPFR_RNDN);
        ;
        mpfr_mul(r26840, r26838, r26839, MPFR_RNDN);
        mpfr_set_d(r26841, k, MPFR_RNDN);
        mpfr_mul(r26842, r26840, r26841, MPFR_RNDN);
        mpfr_sub(r26843, r26837, r26842, MPFR_RNDN);
        ;
        mpfr_set_si(r26845, mpfr_cmp(r26843, r26844) <= 0, MPFR_RNDN);
        mpfr_mul(r26846, r26835, r26834, MPFR_RNDN);
        mpfr_sub(r26847, r26832, r26846, MPFR_RNDN);
        mpfr_mul(r26848, r26839, r26841, MPFR_RNDN);
        mpfr_mul(r26849, r26838, r26848, MPFR_RNDN);
        mpfr_sub(r26850, r26847, r26849, MPFR_RNDN);
        mpfr_mul(r26851, r26817, r26821, MPFR_RNDN);
        mpfr_mul(r26852, r26818, r26816, MPFR_RNDN);
        mpfr_mul(r26853, r26851, r26852, MPFR_RNDN);
        mpfr_mul(r26854, r26826, r26825, MPFR_RNDN);
        mpfr_sub(r26855, r26853, r26854, MPFR_RNDN);
        mpfr_mul(r26856, r26820, r26855, MPFR_RNDN);
        mpfr_add(r26857, r26850, r26856, MPFR_RNDN);
        ;
        mpfr_set_si(r26859, mpfr_cmp(r26843, r26858) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26859, MPFR_RNDN)) { mpfr_set(r26860, r26843, MPFR_RNDN); } else { mpfr_set(r26860, r26857, MPFR_RNDN); };
        if (mpfr_get_si(r26845, MPFR_RNDN)) { mpfr_set(r26861, r26857, MPFR_RNDN); } else { mpfr_set(r26861, r26860, MPFR_RNDN); };
        return mpfr_get_d(r26861, MPFR_RNDN);
}

static mpfr_t r26862, r26863, r26864, r26865, r26866, r26867, r26868, r26869, r26870, r26871, r26872, r26873, r26874, r26875, r26876, r26877, r26878, r26879, r26880, r26881, r26882, r26883, r26884, r26885, r26886, r26887, r26888, r26889, r26890, r26891, r26892, r26893, r26894, r26895, r26896, r26897, r26898, r26899, r26900, r26901, r26902, r26903, r26904, r26905, r26906, r26907;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26862, "18.0", 10, MPFR_RNDN);
        mpfr_init(r26863);
        mpfr_init(r26864);
        mpfr_init(r26865);
        mpfr_init(r26866);
        mpfr_init(r26867);
        mpfr_init(r26868);
        mpfr_init(r26869);
        mpfr_init(r26870);
        mpfr_init(r26871);
        mpfr_init_set_str(r26872, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26873);
        mpfr_init(r26874);
        mpfr_init(r26875);
        mpfr_init(r26876);
        mpfr_init(r26877);
        mpfr_init(r26878);
        mpfr_init(r26879);
        mpfr_init(r26880);
        mpfr_init(r26881);
        mpfr_init(r26882);
        mpfr_init(r26883);
        mpfr_init(r26884);
        mpfr_init_set_str(r26885, "27.0", 10, MPFR_RNDN);
        mpfr_init(r26886);
        mpfr_init(r26887);
        mpfr_init(r26888);
        mpfr_init(r26889);
        mpfr_init_set_str(r26890, "-1.9325221570846234e+305", 10, MPFR_RNDN);
        mpfr_init(r26891);
        mpfr_init(r26892);
        mpfr_init(r26893);
        mpfr_init(r26894);
        mpfr_init(r26895);
        mpfr_init(r26896);
        mpfr_init(r26897);
        mpfr_init(r26898);
        mpfr_init(r26899);
        mpfr_init(r26900);
        mpfr_init(r26901);
        mpfr_init(r26902);
        mpfr_init(r26903);
        mpfr_init_set_str(r26904, "1.6903103840338217e+298", 10, MPFR_RNDN);
        mpfr_init(r26905);
        mpfr_init(r26906);
        mpfr_init(r26907);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        ;
        mpfr_set_d(r26863, z, MPFR_RNDN);
        mpfr_set_d(r26864, y, MPFR_RNDN);
        mpfr_mul(r26865, r26863, r26864, MPFR_RNDN);
        mpfr_set_d(r26866, t, MPFR_RNDN);
        mpfr_set_d(r26867, x, MPFR_RNDN);
        mpfr_mul(r26868, r26866, r26867, MPFR_RNDN);
        mpfr_mul(r26869, r26865, r26868, MPFR_RNDN);
        mpfr_mul(r26870, r26862, r26869, MPFR_RNDN);
        mpfr_set_d(r26871, a, MPFR_RNDN);
        ;
        mpfr_mul(r26873, r26871, r26872, MPFR_RNDN);
        mpfr_mul(r26874, r26873, r26866, MPFR_RNDN);
        mpfr_sub(r26875, r26870, r26874, MPFR_RNDN);
        mpfr_set_d(r26876, b, MPFR_RNDN);
        mpfr_set_d(r26877, c, MPFR_RNDN);
        mpfr_mul(r26878, r26876, r26877, MPFR_RNDN);
        mpfr_add(r26879, r26875, r26878, MPFR_RNDN);
        mpfr_mul(r26880, r26867, r26872, MPFR_RNDN);
        mpfr_set_d(r26881, i, MPFR_RNDN);
        mpfr_mul(r26882, r26880, r26881, MPFR_RNDN);
        mpfr_sub(r26883, r26879, r26882, MPFR_RNDN);
        mpfr_set_d(r26884, j, MPFR_RNDN);
        ;
        mpfr_mul(r26886, r26884, r26885, MPFR_RNDN);
        mpfr_set_d(r26887, k, MPFR_RNDN);
        mpfr_mul(r26888, r26886, r26887, MPFR_RNDN);
        mpfr_sub(r26889, r26883, r26888, MPFR_RNDN);
        ;
        mpfr_set_si(r26891, mpfr_cmp(r26889, r26890) <= 0, MPFR_RNDN);
        mpfr_mul(r26892, r26881, r26880, MPFR_RNDN);
        mpfr_sub(r26893, r26878, r26892, MPFR_RNDN);
        mpfr_mul(r26894, r26885, r26887, MPFR_RNDN);
        mpfr_mul(r26895, r26884, r26894, MPFR_RNDN);
        mpfr_sub(r26896, r26893, r26895, MPFR_RNDN);
        mpfr_mul(r26897, r26863, r26867, MPFR_RNDN);
        mpfr_mul(r26898, r26864, r26862, MPFR_RNDN);
        mpfr_mul(r26899, r26897, r26898, MPFR_RNDN);
        mpfr_mul(r26900, r26872, r26871, MPFR_RNDN);
        mpfr_sub(r26901, r26899, r26900, MPFR_RNDN);
        mpfr_mul(r26902, r26866, r26901, MPFR_RNDN);
        mpfr_add(r26903, r26896, r26902, MPFR_RNDN);
        ;
        mpfr_set_si(r26905, mpfr_cmp(r26889, r26904) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26905, MPFR_RNDN)) { mpfr_set(r26906, r26889, MPFR_RNDN); } else { mpfr_set(r26906, r26903, MPFR_RNDN); };
        if (mpfr_get_si(r26891, MPFR_RNDN)) { mpfr_set(r26907, r26903, MPFR_RNDN); } else { mpfr_set(r26907, r26906, MPFR_RNDN); };
        return mpfr_get_d(r26907, MPFR_RNDN);
}

