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

char *name = "Falkner and Boettcher, Equation (20:1,3)";

double f_if(float v, float t) {
        float r26949 = 1;
        float r26950 = 5;
        float r26951 = v;
        float r26952 = r26951 * r26951;
        float r26953 = r26950 * r26952;
        float r26954 = r26949 - r26953;
        float r26955 = atan2(1.0, 0.0);
        float r26956 = t;
        float r26957 = r26955 * r26956;
        float r26958 = 2;
        float r26959 = 3;
        float r26960 = r26959 * r26952;
        float r26961 = r26949 - r26960;
        float r26962 = r26958 * r26961;
        float r26963 = sqrt(r26962);
        float r26964 = r26957 * r26963;
        float r26965 = r26949 - r26952;
        float r26966 = r26964 * r26965;
        float r26967 = r26954 / r26966;
        return r26967;
}

double f_id(double v, double t) {
        double r26968 = 1;
        double r26969 = 5;
        double r26970 = v;
        double r26971 = r26970 * r26970;
        double r26972 = r26969 * r26971;
        double r26973 = r26968 - r26972;
        double r26974 = atan2(1.0, 0.0);
        double r26975 = t;
        double r26976 = r26974 * r26975;
        double r26977 = 2;
        double r26978 = 3;
        double r26979 = r26978 * r26971;
        double r26980 = r26968 - r26979;
        double r26981 = r26977 * r26980;
        double r26982 = sqrt(r26981);
        double r26983 = r26976 * r26982;
        double r26984 = r26968 - r26971;
        double r26985 = r26983 * r26984;
        double r26986 = r26973 / r26985;
        return r26986;
}


double f_of(float v, float t) {
        float r26987 = 1;
        float r26988 = v;
        float r26989 = 5;
        float r26990 = r26988 * r26989;
        float r26991 = r26988 * r26990;
        float r26992 = r26987 - r26991;
        float r26993 = t;
        float r26994 = r26992 / r26993;
        float r26995 = atan2(1.0, 0.0);
        float r26996 = r26988 * r26988;
        float r26997 = r26996 * r26996;
        float r26998 = r26987 - r26997;
        float r26999 = r26995 * r26998;
        float r27000 = 2;
        float r27001 = 3;
        float r27002 = r27001 * r26996;
        float r27003 = r26987 - r27002;
        float r27004 = r27000 * r27003;
        float r27005 = sqrt(r27004);
        float r27006 = r26999 * r27005;
        float r27007 = r26994 / r27006;
        float r27008 = r26987 + r26996;
        float r27009 = r27007 * r27008;
        return r27009;
}

double f_od(double v, double t) {
        double r27010 = 1;
        double r27011 = v;
        double r27012 = 5;
        double r27013 = r27011 * r27012;
        double r27014 = r27011 * r27013;
        double r27015 = r27010 - r27014;
        double r27016 = t;
        double r27017 = r27015 / r27016;
        double r27018 = atan2(1.0, 0.0);
        double r27019 = r27011 * r27011;
        double r27020 = r27019 * r27019;
        double r27021 = r27010 - r27020;
        double r27022 = r27018 * r27021;
        double r27023 = 2;
        double r27024 = 3;
        double r27025 = r27024 * r27019;
        double r27026 = r27010 - r27025;
        double r27027 = r27023 * r27026;
        double r27028 = sqrt(r27027);
        double r27029 = r27022 * r27028;
        double r27030 = r27017 / r27029;
        double r27031 = r27010 + r27019;
        double r27032 = r27030 * r27031;
        return r27032;
}

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 r27033, r27034, r27035, r27036, r27037, r27038, r27039, r27040, r27041, r27042, r27043, r27044, r27045, r27046, r27047, r27048, r27049, r27050, r27051;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27033, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r27034, "5", 10, MPFR_RNDN);
        mpfr_init(r27035);
        mpfr_init(r27036);
        mpfr_init(r27037);
        mpfr_init(r27038);
        mpfr_init(r27039);
        mpfr_init(r27040);
        mpfr_init(r27041);
        mpfr_init_set_str(r27042, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r27043, "3", 10, MPFR_RNDN);
        mpfr_init(r27044);
        mpfr_init(r27045);
        mpfr_init(r27046);
        mpfr_init(r27047);
        mpfr_init(r27048);
        mpfr_init(r27049);
        mpfr_init(r27050);
        mpfr_init(r27051);
}

double f_im(double v, double t) {
        ;
        ;
        mpfr_set_d(r27035, v, MPFR_RNDN);
        mpfr_mul(r27036, r27035, r27035, MPFR_RNDN);
        mpfr_mul(r27037, r27034, r27036, MPFR_RNDN);
        mpfr_sub(r27038, r27033, r27037, MPFR_RNDN);
        mpfr_const_pi(r27039, MPFR_RNDN);
        mpfr_set_d(r27040, t, MPFR_RNDN);
        mpfr_mul(r27041, r27039, r27040, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r27044, r27043, r27036, MPFR_RNDN);
        mpfr_sub(r27045, r27033, r27044, MPFR_RNDN);
        mpfr_mul(r27046, r27042, r27045, MPFR_RNDN);
        mpfr_sqrt(r27047, r27046, MPFR_RNDN);
        mpfr_mul(r27048, r27041, r27047, MPFR_RNDN);
        mpfr_sub(r27049, r27033, r27036, MPFR_RNDN);
        mpfr_mul(r27050, r27048, r27049, MPFR_RNDN);
        mpfr_div(r27051, r27038, r27050, MPFR_RNDN);
        return mpfr_get_d(r27051, MPFR_RNDN);
}

static mpfr_t r27052, r27053, r27054, r27055, r27056, r27057, r27058, r27059, r27060, r27061, r27062, r27063, r27064, r27065, r27066, r27067, r27068, r27069, r27070, r27071, r27072, r27073, r27074;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27052, "1", 10, MPFR_RNDN);
        mpfr_init(r27053);
        mpfr_init_set_str(r27054, "5", 10, MPFR_RNDN);
        mpfr_init(r27055);
        mpfr_init(r27056);
        mpfr_init(r27057);
        mpfr_init(r27058);
        mpfr_init(r27059);
        mpfr_init(r27060);
        mpfr_init(r27061);
        mpfr_init(r27062);
        mpfr_init(r27063);
        mpfr_init(r27064);
        mpfr_init_set_str(r27065, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r27066, "3", 10, MPFR_RNDN);
        mpfr_init(r27067);
        mpfr_init(r27068);
        mpfr_init(r27069);
        mpfr_init(r27070);
        mpfr_init(r27071);
        mpfr_init(r27072);
        mpfr_init(r27073);
        mpfr_init(r27074);
}

double f_fm(double v, double t) {
        ;
        mpfr_set_d(r27053, v, MPFR_RNDN);
        ;
        mpfr_mul(r27055, r27053, r27054, MPFR_RNDN);
        mpfr_mul(r27056, r27053, r27055, MPFR_RNDN);
        mpfr_sub(r27057, r27052, r27056, MPFR_RNDN);
        mpfr_set_d(r27058, t, MPFR_RNDN);
        mpfr_div(r27059, r27057, r27058, MPFR_RNDN);
        mpfr_const_pi(r27060, MPFR_RNDN);
        mpfr_mul(r27061, r27053, r27053, MPFR_RNDN);
        mpfr_mul(r27062, r27061, r27061, MPFR_RNDN);
        mpfr_sub(r27063, r27052, r27062, MPFR_RNDN);
        mpfr_mul(r27064, r27060, r27063, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r27067, r27066, r27061, MPFR_RNDN);
        mpfr_sub(r27068, r27052, r27067, MPFR_RNDN);
        mpfr_mul(r27069, r27065, r27068, MPFR_RNDN);
        mpfr_sqrt(r27070, r27069, MPFR_RNDN);
        mpfr_mul(r27071, r27064, r27070, MPFR_RNDN);
        mpfr_div(r27072, r27059, r27071, MPFR_RNDN);
        mpfr_add(r27073, r27052, r27061, MPFR_RNDN);
        mpfr_mul(r27074, r27072, r27073, MPFR_RNDN);
        return mpfr_get_d(r27074, MPFR_RNDN);
}

static mpfr_t r27075, r27076, r27077, r27078, r27079, r27080, r27081, r27082, r27083, r27084, r27085, r27086, r27087, r27088, r27089, r27090, r27091, r27092, r27093, r27094, r27095, r27096, r27097;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27075, "1", 10, MPFR_RNDN);
        mpfr_init(r27076);
        mpfr_init_set_str(r27077, "5", 10, MPFR_RNDN);
        mpfr_init(r27078);
        mpfr_init(r27079);
        mpfr_init(r27080);
        mpfr_init(r27081);
        mpfr_init(r27082);
        mpfr_init(r27083);
        mpfr_init(r27084);
        mpfr_init(r27085);
        mpfr_init(r27086);
        mpfr_init(r27087);
        mpfr_init_set_str(r27088, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r27089, "3", 10, MPFR_RNDN);
        mpfr_init(r27090);
        mpfr_init(r27091);
        mpfr_init(r27092);
        mpfr_init(r27093);
        mpfr_init(r27094);
        mpfr_init(r27095);
        mpfr_init(r27096);
        mpfr_init(r27097);
}

double f_dm(double v, double t) {
        ;
        mpfr_set_d(r27076, v, MPFR_RNDN);
        ;
        mpfr_mul(r27078, r27076, r27077, MPFR_RNDN);
        mpfr_mul(r27079, r27076, r27078, MPFR_RNDN);
        mpfr_sub(r27080, r27075, r27079, MPFR_RNDN);
        mpfr_set_d(r27081, t, MPFR_RNDN);
        mpfr_div(r27082, r27080, r27081, MPFR_RNDN);
        mpfr_const_pi(r27083, MPFR_RNDN);
        mpfr_mul(r27084, r27076, r27076, MPFR_RNDN);
        mpfr_mul(r27085, r27084, r27084, MPFR_RNDN);
        mpfr_sub(r27086, r27075, r27085, MPFR_RNDN);
        mpfr_mul(r27087, r27083, r27086, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r27090, r27089, r27084, MPFR_RNDN);
        mpfr_sub(r27091, r27075, r27090, MPFR_RNDN);
        mpfr_mul(r27092, r27088, r27091, MPFR_RNDN);
        mpfr_sqrt(r27093, r27092, MPFR_RNDN);
        mpfr_mul(r27094, r27087, r27093, MPFR_RNDN);
        mpfr_div(r27095, r27082, r27094, MPFR_RNDN);
        mpfr_add(r27096, r27075, r27084, MPFR_RNDN);
        mpfr_mul(r27097, r27095, r27096, MPFR_RNDN);
        return mpfr_get_d(r27097, MPFR_RNDN);
}

