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

char *name = "Graphics.Rasterific.Shading:$sradialGradientWithFocusShader from Rasterific-0.6.1, A";

double f_if(float x) {
        float r32141 = x;
        float r32142 = r32141 * r32141;
        float r32143 = 1.0;
        float r32144 = r32142 + r32143;
        return r32144;
}

double f_id(double x) {
        double r32145 = x;
        double r32146 = r32145 * r32145;
        double r32147 = 1.0;
        double r32148 = r32146 + r32147;
        return r32148;
}


double f_of(float x) {
        float r32149 = x;
        float r32150 = r32149 * r32149;
        float r32151 = 1.0;
        float r32152 = r32150 + r32151;
        return r32152;
}

double f_od(double x) {
        double r32153 = x;
        double r32154 = r32153 * r32153;
        double r32155 = 1.0;
        double r32156 = r32154 + r32155;
        return r32156;
}

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 r32157, r32158, r32159, r32160;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r32157);
        mpfr_init(r32158);
        mpfr_init_set_str(r32159, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32160);
}

double f_im(double x) {
        mpfr_set_d(r32157, x, MPFR_RNDN);
        mpfr_mul(r32158, r32157, r32157, MPFR_RNDN);
        ;
        mpfr_add(r32160, r32158, r32159, MPFR_RNDN);
        return mpfr_get_d(r32160, MPFR_RNDN);
}

static mpfr_t r32161, r32162, r32163, r32164;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r32161);
        mpfr_init(r32162);
        mpfr_init_set_str(r32163, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32164);
}

double f_fm(double x) {
        mpfr_set_d(r32161, x, MPFR_RNDN);
        mpfr_mul(r32162, r32161, r32161, MPFR_RNDN);
        ;
        mpfr_add(r32164, r32162, r32163, MPFR_RNDN);
        return mpfr_get_d(r32164, MPFR_RNDN);
}

static mpfr_t r32165, r32166, r32167, r32168;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r32165);
        mpfr_init(r32166);
        mpfr_init_set_str(r32167, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32168);
}

double f_dm(double x) {
        mpfr_set_d(r32165, x, MPFR_RNDN);
        mpfr_mul(r32166, r32165, r32165, MPFR_RNDN);
        ;
        mpfr_add(r32168, r32166, r32167, MPFR_RNDN);
        return mpfr_get_d(r32168, MPFR_RNDN);
}

