#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 r32195 = x;
        float r32196 = r32195 * r32195;
        float r32197 = 1.0;
        float r32198 = r32196 + r32197;
        return r32198;
}

double f_id(double x) {
        double r32199 = x;
        double r32200 = r32199 * r32199;
        double r32201 = 1.0;
        double r32202 = r32200 + r32201;
        return r32202;
}


double f_of(float x) {
        float r32203 = x;
        float r32204 = r32203 * r32203;
        float r32205 = 1.0;
        float r32206 = r32204 + r32205;
        return r32206;
}

double f_od(double x) {
        double r32207 = x;
        double r32208 = r32207 * r32207;
        double r32209 = 1.0;
        double r32210 = r32208 + r32209;
        return r32210;
}

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 r32211, r32212, r32213, r32214;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r32211);
        mpfr_init(r32212);
        mpfr_init_set_str(r32213, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32214);
}

double f_im(double x) {
        mpfr_set_d(r32211, x, MPFR_RNDN);
        mpfr_mul(r32212, r32211, r32211, MPFR_RNDN);
        ;
        mpfr_add(r32214, r32212, r32213, MPFR_RNDN);
        return mpfr_get_d(r32214, MPFR_RNDN);
}

static mpfr_t r32215, r32216, r32217, r32218;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r32215);
        mpfr_init(r32216);
        mpfr_init_set_str(r32217, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32218);
}

double f_fm(double x) {
        mpfr_set_d(r32215, x, MPFR_RNDN);
        mpfr_mul(r32216, r32215, r32215, MPFR_RNDN);
        ;
        mpfr_add(r32218, r32216, r32217, MPFR_RNDN);
        return mpfr_get_d(r32218, MPFR_RNDN);
}

static mpfr_t r32219, r32220, r32221, r32222;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r32219);
        mpfr_init(r32220);
        mpfr_init_set_str(r32221, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32222);
}

double f_dm(double x) {
        mpfr_set_d(r32219, x, MPFR_RNDN);
        mpfr_mul(r32220, r32219, r32219, MPFR_RNDN);
        ;
        mpfr_add(r32222, r32220, r32221, MPFR_RNDN);
        return mpfr_get_d(r32222, MPFR_RNDN);
}

