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

char *name = "Jmat.Real.dawson";

double f_if(float x) {
        float r25059 = 1;
        float r25060 = 0.1049934947;
        float r25061 = x;
        float r25062 = r25061 * r25061;
        float r25063 = r25060 * r25062;
        float r25064 = r25059 + r25063;
        float r25065 = 0.0424060604;
        float r25066 = r25062 * r25062;
        float r25067 = r25065 * r25066;
        float r25068 = r25064 + r25067;
        float r25069 = 0.0072644182;
        float r25070 = r25066 * r25062;
        float r25071 = r25069 * r25070;
        float r25072 = r25068 + r25071;
        float r25073 = 0.0005064034;
        float r25074 = r25070 * r25062;
        float r25075 = r25073 * r25074;
        float r25076 = r25072 + r25075;
        float r25077 = 0.0001789971;
        float r25078 = r25074 * r25062;
        float r25079 = r25077 * r25078;
        float r25080 = r25076 + r25079;
        float r25081 = 0.7715471019;
        float r25082 = r25081 * r25062;
        float r25083 = r25059 + r25082;
        float r25084 = 0.2909738639;
        float r25085 = r25084 * r25066;
        float r25086 = r25083 + r25085;
        float r25087 = 0.0694555761;
        float r25088 = r25087 * r25070;
        float r25089 = r25086 + r25088;
        float r25090 = 0.0140005442;
        float r25091 = r25090 * r25074;
        float r25092 = r25089 + r25091;
        float r25093 = 0.0008327945;
        float r25094 = r25093 * r25078;
        float r25095 = r25092 + r25094;
        float r25096 = 2;
        float r25097 = r25096 * r25077;
        float r25098 = r25078 * r25062;
        float r25099 = r25097 * r25098;
        float r25100 = r25095 + r25099;
        float r25101 = r25080 / r25100;
        float r25102 = r25101 * r25061;
        return r25102;
}

double f_id(double x) {
        double r25103 = 1;
        double r25104 = 0.1049934947;
        double r25105 = x;
        double r25106 = r25105 * r25105;
        double r25107 = r25104 * r25106;
        double r25108 = r25103 + r25107;
        double r25109 = 0.0424060604;
        double r25110 = r25106 * r25106;
        double r25111 = r25109 * r25110;
        double r25112 = r25108 + r25111;
        double r25113 = 0.0072644182;
        double r25114 = r25110 * r25106;
        double r25115 = r25113 * r25114;
        double r25116 = r25112 + r25115;
        double r25117 = 0.0005064034;
        double r25118 = r25114 * r25106;
        double r25119 = r25117 * r25118;
        double r25120 = r25116 + r25119;
        double r25121 = 0.0001789971;
        double r25122 = r25118 * r25106;
        double r25123 = r25121 * r25122;
        double r25124 = r25120 + r25123;
        double r25125 = 0.7715471019;
        double r25126 = r25125 * r25106;
        double r25127 = r25103 + r25126;
        double r25128 = 0.2909738639;
        double r25129 = r25128 * r25110;
        double r25130 = r25127 + r25129;
        double r25131 = 0.0694555761;
        double r25132 = r25131 * r25114;
        double r25133 = r25130 + r25132;
        double r25134 = 0.0140005442;
        double r25135 = r25134 * r25118;
        double r25136 = r25133 + r25135;
        double r25137 = 0.0008327945;
        double r25138 = r25137 * r25122;
        double r25139 = r25136 + r25138;
        double r25140 = 2;
        double r25141 = r25140 * r25121;
        double r25142 = r25122 * r25106;
        double r25143 = r25141 * r25142;
        double r25144 = r25139 + r25143;
        double r25145 = r25124 / r25144;
        double r25146 = r25145 * r25105;
        return r25146;
}


double f_of(float x) {
        float r25147 = 0.2514179000665375;
        float r25148 = x;
        float r25149 = 4;
        float r25150 = pow(r25148, r25149);
        float r25151 = r25147 / r25150;
        float r25152 = 0.15298196345929327;
        float r25153 = 6;
        float r25154 = pow(r25148, r25153);
        float r25155 = r25152 / r25154;
        float r25156 = r25151 + r25155;
        float r25157 = 0.5;
        float r25158 = r25157 / r25148;
        float r25159 = fma(r25156, r25148, r25158);
        float r25160 = -6.987468070790487e-08;
        bool r25161 = r25159 <= r25160;
        float r25162 = r25148 * r25148;
        float r25163 = 3;
        float r25164 = 1;
        float r25165 = r25163 + r25164;
        float r25166 = pow(r25162, r25165);
        float r25167 = 0.0001789971;
        float r25168 = r25166 * r25167;
        float r25169 = 0.0005064034;
        float r25170 = r25166 * r25169;
        float r25171 = fma(r25168, r25162, r25170);
        float r25172 = r25162 * r25162;
        float r25173 = 0.0072644182;
        float r25174 = r25148 * r25173;
        float r25175 = r25174 * r25148;
        float r25176 = 0.0424060604;
        float r25177 = 0.1049934947;
        float r25178 = fma(r25162, r25177, r25164);
        float r25179 = fma(r25176, r25172, r25178);
        float r25180 = fma(r25172, r25175, r25179);
        float r25181 = r25171 + r25180;
        float r25182 = 2;
        float r25183 = r25167 * r25182;
        float r25184 = 0.0008327945;
        float r25185 = r25184 * r25162;
        float r25186 = fma(r25183, r25172, r25185);
        float r25187 = 0.0140005442;
        float r25188 = r25166 * r25187;
        float r25189 = fma(r25166, r25186, r25188);
        float r25190 = 0.0694555761;
        float r25191 = r25148 * r25190;
        float r25192 = r25148 * r25191;
        float r25193 = 0.2909738639;
        float r25194 = 0.7715471019;
        float r25195 = fma(r25194, r25162, r25164);
        float r25196 = fma(r25172, r25193, r25195);
        float r25197 = fma(r25192, r25172, r25196);
        float r25198 = r25189 + r25197;
        float r25199 = r25181 / r25198;
        float r25200 = log1p(r25199);
        float r25201 = expm1(r25200);
        float r25202 = r25201 * r25148;
        float r25203 = 1.0307817012091984e-14;
        bool r25204 = r25159 <= r25203;
        float r25205 = r25172 * r25172;
        float r25206 = r25162 * r25167;
        float r25207 = r25205 * r25206;
        float r25208 = r25173 * r25162;
        float r25209 = r25208 * r25172;
        float r25210 = r25209 + r25179;
        float r25211 = fma(r25169, r25205, r25210);
        float r25212 = r25207 + r25211;
        float r25213 = sqrt(r25212);
        float r25214 = r25185 * r25205;
        float r25215 = r25172 * r25183;
        float r25216 = r25205 * r25215;
        float r25217 = r25214 + r25216;
        float r25218 = r25194 * r25148;
        float r25219 = fma(r25218, r25148, r25164);
        float r25220 = fma(r25193, r25172, r25219);
        float r25221 = r25162 * r25190;
        float r25222 = r25172 * r25221;
        float r25223 = r25220 + r25222;
        float r25224 = fma(r25205, r25187, r25223);
        float r25225 = r25217 + r25224;
        float r25226 = cbrt(r25225);
        float r25227 = r25226 * r25226;
        float r25228 = r25213 / r25227;
        float r25229 = r25162 * r25173;
        float r25230 = fma(r25172, r25229, r25179);
        float r25231 = r25206 + r25169;
        float r25232 = r25166 * r25231;
        float r25233 = r25230 + r25232;
        float r25234 = sqrt(r25233);
        float r25235 = r25148 * r25194;
        float r25236 = fma(r25148, r25235, r25164);
        float r25237 = fma(r25172, r25193, r25236);
        float r25238 = fma(r25172, r25192, r25237);
        float r25239 = r25182 * r25167;
        float r25240 = r25184 * r25148;
        float r25241 = r25148 * r25240;
        float r25242 = fma(r25172, r25239, r25241);
        float r25243 = r25187 * r25166;
        float r25244 = fma(r25166, r25242, r25243);
        float r25245 = r25238 + r25244;
        float r25246 = cbrt(r25245);
        float r25247 = r25234 / r25246;
        float r25248 = r25247 * r25148;
        float r25249 = r25228 * r25248;
        float r25250 = r25204 ? r25159 : r25249;
        float r25251 = r25161 ? r25202 : r25250;
        return r25251;
}

double f_od(double x) {
        double r25252 = 0.2514179000665375;
        double r25253 = x;
        double r25254 = 4;
        double r25255 = pow(r25253, r25254);
        double r25256 = r25252 / r25255;
        double r25257 = 0.15298196345929327;
        double r25258 = 6;
        double r25259 = pow(r25253, r25258);
        double r25260 = r25257 / r25259;
        double r25261 = r25256 + r25260;
        double r25262 = 0.5;
        double r25263 = r25262 / r25253;
        double r25264 = fma(r25261, r25253, r25263);
        double r25265 = -6.987468070790487e-08;
        bool r25266 = r25264 <= r25265;
        double r25267 = r25253 * r25253;
        double r25268 = 3;
        double r25269 = 1;
        double r25270 = r25268 + r25269;
        double r25271 = pow(r25267, r25270);
        double r25272 = 0.0001789971;
        double r25273 = r25271 * r25272;
        double r25274 = 0.0005064034;
        double r25275 = r25271 * r25274;
        double r25276 = fma(r25273, r25267, r25275);
        double r25277 = r25267 * r25267;
        double r25278 = 0.0072644182;
        double r25279 = r25253 * r25278;
        double r25280 = r25279 * r25253;
        double r25281 = 0.0424060604;
        double r25282 = 0.1049934947;
        double r25283 = fma(r25267, r25282, r25269);
        double r25284 = fma(r25281, r25277, r25283);
        double r25285 = fma(r25277, r25280, r25284);
        double r25286 = r25276 + r25285;
        double r25287 = 2;
        double r25288 = r25272 * r25287;
        double r25289 = 0.0008327945;
        double r25290 = r25289 * r25267;
        double r25291 = fma(r25288, r25277, r25290);
        double r25292 = 0.0140005442;
        double r25293 = r25271 * r25292;
        double r25294 = fma(r25271, r25291, r25293);
        double r25295 = 0.0694555761;
        double r25296 = r25253 * r25295;
        double r25297 = r25253 * r25296;
        double r25298 = 0.2909738639;
        double r25299 = 0.7715471019;
        double r25300 = fma(r25299, r25267, r25269);
        double r25301 = fma(r25277, r25298, r25300);
        double r25302 = fma(r25297, r25277, r25301);
        double r25303 = r25294 + r25302;
        double r25304 = r25286 / r25303;
        double r25305 = log1p(r25304);
        double r25306 = expm1(r25305);
        double r25307 = r25306 * r25253;
        double r25308 = 1.0307817012091984e-14;
        bool r25309 = r25264 <= r25308;
        double r25310 = r25277 * r25277;
        double r25311 = r25267 * r25272;
        double r25312 = r25310 * r25311;
        double r25313 = r25278 * r25267;
        double r25314 = r25313 * r25277;
        double r25315 = r25314 + r25284;
        double r25316 = fma(r25274, r25310, r25315);
        double r25317 = r25312 + r25316;
        double r25318 = sqrt(r25317);
        double r25319 = r25290 * r25310;
        double r25320 = r25277 * r25288;
        double r25321 = r25310 * r25320;
        double r25322 = r25319 + r25321;
        double r25323 = r25299 * r25253;
        double r25324 = fma(r25323, r25253, r25269);
        double r25325 = fma(r25298, r25277, r25324);
        double r25326 = r25267 * r25295;
        double r25327 = r25277 * r25326;
        double r25328 = r25325 + r25327;
        double r25329 = fma(r25310, r25292, r25328);
        double r25330 = r25322 + r25329;
        double r25331 = cbrt(r25330);
        double r25332 = r25331 * r25331;
        double r25333 = r25318 / r25332;
        double r25334 = r25267 * r25278;
        double r25335 = fma(r25277, r25334, r25284);
        double r25336 = r25311 + r25274;
        double r25337 = r25271 * r25336;
        double r25338 = r25335 + r25337;
        double r25339 = sqrt(r25338);
        double r25340 = r25253 * r25299;
        double r25341 = fma(r25253, r25340, r25269);
        double r25342 = fma(r25277, r25298, r25341);
        double r25343 = fma(r25277, r25297, r25342);
        double r25344 = r25287 * r25272;
        double r25345 = r25289 * r25253;
        double r25346 = r25253 * r25345;
        double r25347 = fma(r25277, r25344, r25346);
        double r25348 = r25292 * r25271;
        double r25349 = fma(r25271, r25347, r25348);
        double r25350 = r25343 + r25349;
        double r25351 = cbrt(r25350);
        double r25352 = r25339 / r25351;
        double r25353 = r25352 * r25253;
        double r25354 = r25333 * r25353;
        double r25355 = r25309 ? r25264 : r25354;
        double r25356 = r25266 ? r25307 : r25355;
        return r25356;
}

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 r25357, r25358, r25359, r25360, r25361, r25362, r25363, r25364, r25365, r25366, r25367, r25368, r25369, r25370, r25371, r25372, r25373, r25374, r25375, r25376, r25377, r25378, r25379, r25380, r25381, r25382, r25383, r25384, r25385, r25386, r25387, r25388, r25389, r25390, r25391, r25392, r25393, r25394, r25395, r25396, r25397, r25398, r25399, r25400;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r25357, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r25358, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r25359);
        mpfr_init(r25360);
        mpfr_init(r25361);
        mpfr_init(r25362);
        mpfr_init_set_str(r25363, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r25364);
        mpfr_init(r25365);
        mpfr_init(r25366);
        mpfr_init_set_str(r25367, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r25368);
        mpfr_init(r25369);
        mpfr_init(r25370);
        mpfr_init_set_str(r25371, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r25372);
        mpfr_init(r25373);
        mpfr_init(r25374);
        mpfr_init_set_str(r25375, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r25376);
        mpfr_init(r25377);
        mpfr_init(r25378);
        mpfr_init_set_str(r25379, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r25380);
        mpfr_init(r25381);
        mpfr_init_set_str(r25382, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r25383);
        mpfr_init(r25384);
        mpfr_init_set_str(r25385, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r25386);
        mpfr_init(r25387);
        mpfr_init_set_str(r25388, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r25389);
        mpfr_init(r25390);
        mpfr_init_set_str(r25391, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r25392);
        mpfr_init(r25393);
        mpfr_init_set_str(r25394, "2", 10, MPFR_RNDN);
        mpfr_init(r25395);
        mpfr_init(r25396);
        mpfr_init(r25397);
        mpfr_init(r25398);
        mpfr_init(r25399);
        mpfr_init(r25400);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r25359, x, MPFR_RNDN);
        mpfr_mul(r25360, r25359, r25359, MPFR_RNDN);
        mpfr_mul(r25361, r25358, r25360, MPFR_RNDN);
        mpfr_add(r25362, r25357, r25361, MPFR_RNDN);
        ;
        mpfr_mul(r25364, r25360, r25360, MPFR_RNDN);
        mpfr_mul(r25365, r25363, r25364, MPFR_RNDN);
        mpfr_add(r25366, r25362, r25365, MPFR_RNDN);
        ;
        mpfr_mul(r25368, r25364, r25360, MPFR_RNDN);
        mpfr_mul(r25369, r25367, r25368, MPFR_RNDN);
        mpfr_add(r25370, r25366, r25369, MPFR_RNDN);
        ;
        mpfr_mul(r25372, r25368, r25360, MPFR_RNDN);
        mpfr_mul(r25373, r25371, r25372, MPFR_RNDN);
        mpfr_add(r25374, r25370, r25373, MPFR_RNDN);
        ;
        mpfr_mul(r25376, r25372, r25360, MPFR_RNDN);
        mpfr_mul(r25377, r25375, r25376, MPFR_RNDN);
        mpfr_add(r25378, r25374, r25377, MPFR_RNDN);
        ;
        mpfr_mul(r25380, r25379, r25360, MPFR_RNDN);
        mpfr_add(r25381, r25357, r25380, MPFR_RNDN);
        ;
        mpfr_mul(r25383, r25382, r25364, MPFR_RNDN);
        mpfr_add(r25384, r25381, r25383, MPFR_RNDN);
        ;
        mpfr_mul(r25386, r25385, r25368, MPFR_RNDN);
        mpfr_add(r25387, r25384, r25386, MPFR_RNDN);
        ;
        mpfr_mul(r25389, r25388, r25372, MPFR_RNDN);
        mpfr_add(r25390, r25387, r25389, MPFR_RNDN);
        ;
        mpfr_mul(r25392, r25391, r25376, MPFR_RNDN);
        mpfr_add(r25393, r25390, r25392, MPFR_RNDN);
        ;
        mpfr_mul(r25395, r25394, r25375, MPFR_RNDN);
        mpfr_mul(r25396, r25376, r25360, MPFR_RNDN);
        mpfr_mul(r25397, r25395, r25396, MPFR_RNDN);
        mpfr_add(r25398, r25393, r25397, MPFR_RNDN);
        mpfr_div(r25399, r25378, r25398, MPFR_RNDN);
        mpfr_mul(r25400, r25399, r25359, MPFR_RNDN);
        return mpfr_get_d(r25400, MPFR_RNDN);
}

static mpfr_t r25401, r25402, r25403, r25404, r25405, r25406, r25407, r25408, r25409, r25410, r25411, r25412, r25413, r25414, r25415, r25416, r25417, r25418, r25419, r25420, r25421, r25422, r25423, r25424, r25425, r25426, r25427, r25428, r25429, r25430, r25431, r25432, r25433, r25434, r25435, r25436, r25437, r25438, r25439, r25440, r25441, r25442, r25443, r25444, r25445, r25446, r25447, r25448, r25449, r25450, r25451, r25452, r25453, r25454, r25455, r25456, r25457, r25458, r25459, r25460, r25461, r25462, r25463, r25464, r25465, r25466, r25467, r25468, r25469, r25470, r25471, r25472, r25473, r25474, r25475, r25476, r25477, r25478, r25479, r25480, r25481, r25482, r25483, r25484, r25485, r25486, r25487, r25488, r25489, r25490, r25491, r25492, r25493, r25494, r25495, r25496, r25497, r25498, r25499, r25500, r25501, r25502, r25503, r25504, r25505;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r25401, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r25402);
        mpfr_init_set_str(r25403, "4", 10, MPFR_RNDN);
        mpfr_init(r25404);
        mpfr_init(r25405);
        mpfr_init_set_str(r25406, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init_set_str(r25407, "6", 10, MPFR_RNDN);
        mpfr_init(r25408);
        mpfr_init(r25409);
        mpfr_init(r25410);
        mpfr_init_set_str(r25411, "0.5", 10, MPFR_RNDN);
        mpfr_init(r25412);
        mpfr_init(r25413);
        mpfr_init_set_str(r25414, "-6.987468070790487e-08", 10, MPFR_RNDN);
        mpfr_init(r25415);
        mpfr_init(r25416);
        mpfr_init_set_str(r25417, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r25418, "1", 10, MPFR_RNDN);
        mpfr_init(r25419);
        mpfr_init(r25420);
        mpfr_init_set_str(r25421, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r25422);
        mpfr_init_set_str(r25423, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r25424);
        mpfr_init(r25425);
        mpfr_init(r25426);
        mpfr_init_set_str(r25427, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r25428);
        mpfr_init(r25429);
        mpfr_init_set_str(r25430, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r25431, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r25432);
        mpfr_init(r25433);
        mpfr_init(r25434);
        mpfr_init(r25435);
        mpfr_init_set_str(r25436, "2", 10, MPFR_RNDN);
        mpfr_init(r25437);
        mpfr_init_set_str(r25438, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r25439);
        mpfr_init(r25440);
        mpfr_init_set_str(r25441, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r25442);
        mpfr_init(r25443);
        mpfr_init_set_str(r25444, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r25445);
        mpfr_init(r25446);
        mpfr_init_set_str(r25447, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r25448, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r25449);
        mpfr_init(r25450);
        mpfr_init(r25451);
        mpfr_init(r25452);
        mpfr_init(r25453);
        mpfr_init(r25454);
        mpfr_init(r25455);
        mpfr_init(r25456);
        mpfr_init_set_str(r25457, "1.0307817012091984e-14", 10, MPFR_RNDN);
        mpfr_init(r25458);
        mpfr_init(r25459);
        mpfr_init(r25460);
        mpfr_init(r25461);
        mpfr_init(r25462);
        mpfr_init(r25463);
        mpfr_init(r25464);
        mpfr_init(r25465);
        mpfr_init(r25466);
        mpfr_init(r25467);
        mpfr_init(r25468);
        mpfr_init(r25469);
        mpfr_init(r25470);
        mpfr_init(r25471);
        mpfr_init(r25472);
        mpfr_init(r25473);
        mpfr_init(r25474);
        mpfr_init(r25475);
        mpfr_init(r25476);
        mpfr_init(r25477);
        mpfr_init(r25478);
        mpfr_init(r25479);
        mpfr_init(r25480);
        mpfr_init(r25481);
        mpfr_init(r25482);
        mpfr_init(r25483);
        mpfr_init(r25484);
        mpfr_init(r25485);
        mpfr_init(r25486);
        mpfr_init(r25487);
        mpfr_init(r25488);
        mpfr_init(r25489);
        mpfr_init(r25490);
        mpfr_init(r25491);
        mpfr_init(r25492);
        mpfr_init(r25493);
        mpfr_init(r25494);
        mpfr_init(r25495);
        mpfr_init(r25496);
        mpfr_init(r25497);
        mpfr_init(r25498);
        mpfr_init(r25499);
        mpfr_init(r25500);
        mpfr_init(r25501);
        mpfr_init(r25502);
        mpfr_init(r25503);
        mpfr_init(r25504);
        mpfr_init(r25505);
}

double f_fm(double x) {
        ;
        mpfr_set_d(r25402, x, MPFR_RNDN);
        ;
        mpfr_pow(r25404, r25402, r25403, MPFR_RNDN);
        mpfr_div(r25405, r25401, r25404, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r25408, r25402, r25407, MPFR_RNDN);
        mpfr_div(r25409, r25406, r25408, MPFR_RNDN);
        mpfr_add(r25410, r25405, r25409, MPFR_RNDN);
        ;
        mpfr_div(r25412, r25411, r25402, MPFR_RNDN);
        mpfr_fma(r25413, r25410, r25402, r25412, MPFR_RNDN);
        ;
        mpfr_set_si(r25415, mpfr_cmp(r25413, r25414) <= 0, MPFR_RNDN);
        mpfr_mul(r25416, r25402, r25402, MPFR_RNDN);
        ;
        ;
        mpfr_add(r25419, r25417, r25418, MPFR_RNDN);
        mpfr_pow(r25420, r25416, r25419, MPFR_RNDN);
        ;
        mpfr_mul(r25422, r25420, r25421, MPFR_RNDN);
        ;
        mpfr_mul(r25424, r25420, r25423, MPFR_RNDN);
        mpfr_fma(r25425, r25422, r25416, r25424, MPFR_RNDN);
        mpfr_mul(r25426, r25416, r25416, MPFR_RNDN);
        ;
        mpfr_mul(r25428, r25402, r25427, MPFR_RNDN);
        mpfr_mul(r25429, r25428, r25402, MPFR_RNDN);
        ;
        ;
        mpfr_fma(r25432, r25416, r25431, r25418, MPFR_RNDN);
        mpfr_fma(r25433, r25430, r25426, r25432, MPFR_RNDN);
        mpfr_fma(r25434, r25426, r25429, r25433, MPFR_RNDN);
        mpfr_add(r25435, r25425, r25434, MPFR_RNDN);
        ;
        mpfr_mul(r25437, r25421, r25436, MPFR_RNDN);
        ;
        mpfr_mul(r25439, r25438, r25416, MPFR_RNDN);
        mpfr_fma(r25440, r25437, r25426, r25439, MPFR_RNDN);
        ;
        mpfr_mul(r25442, r25420, r25441, MPFR_RNDN);
        mpfr_fma(r25443, r25420, r25440, r25442, MPFR_RNDN);
        ;
        mpfr_mul(r25445, r25402, r25444, MPFR_RNDN);
        mpfr_mul(r25446, r25402, r25445, MPFR_RNDN);
        ;
        ;
        mpfr_fma(r25449, r25448, r25416, r25418, MPFR_RNDN);
        mpfr_fma(r25450, r25426, r25447, r25449, MPFR_RNDN);
        mpfr_fma(r25451, r25446, r25426, r25450, MPFR_RNDN);
        mpfr_add(r25452, r25443, r25451, MPFR_RNDN);
        mpfr_div(r25453, r25435, r25452, MPFR_RNDN);
        mpfr_log1p(r25454, r25453, MPFR_RNDN);
        mpfr_expm1(r25455, r25454, MPFR_RNDN);
        mpfr_mul(r25456, r25455, r25402, MPFR_RNDN);
        ;
        mpfr_set_si(r25458, mpfr_cmp(r25413, r25457) <= 0, MPFR_RNDN);
        mpfr_mul(r25459, r25426, r25426, MPFR_RNDN);
        mpfr_mul(r25460, r25416, r25421, MPFR_RNDN);
        mpfr_mul(r25461, r25459, r25460, MPFR_RNDN);
        mpfr_mul(r25462, r25427, r25416, MPFR_RNDN);
        mpfr_mul(r25463, r25462, r25426, MPFR_RNDN);
        mpfr_add(r25464, r25463, r25433, MPFR_RNDN);
        mpfr_fma(r25465, r25423, r25459, r25464, MPFR_RNDN);
        mpfr_add(r25466, r25461, r25465, MPFR_RNDN);
        mpfr_sqrt(r25467, r25466, MPFR_RNDN);
        mpfr_mul(r25468, r25439, r25459, MPFR_RNDN);
        mpfr_mul(r25469, r25426, r25437, MPFR_RNDN);
        mpfr_mul(r25470, r25459, r25469, MPFR_RNDN);
        mpfr_add(r25471, r25468, r25470, MPFR_RNDN);
        mpfr_mul(r25472, r25448, r25402, MPFR_RNDN);
        mpfr_fma(r25473, r25472, r25402, r25418, MPFR_RNDN);
        mpfr_fma(r25474, r25447, r25426, r25473, MPFR_RNDN);
        mpfr_mul(r25475, r25416, r25444, MPFR_RNDN);
        mpfr_mul(r25476, r25426, r25475, MPFR_RNDN);
        mpfr_add(r25477, r25474, r25476, MPFR_RNDN);
        mpfr_fma(r25478, r25459, r25441, r25477, MPFR_RNDN);
        mpfr_add(r25479, r25471, r25478, MPFR_RNDN);
        mpfr_cbrt(r25480, r25479, MPFR_RNDN);
        mpfr_mul(r25481, r25480, r25480, MPFR_RNDN);
        mpfr_div(r25482, r25467, r25481, MPFR_RNDN);
        mpfr_mul(r25483, r25416, r25427, MPFR_RNDN);
        mpfr_fma(r25484, r25426, r25483, r25433, MPFR_RNDN);
        mpfr_add(r25485, r25460, r25423, MPFR_RNDN);
        mpfr_mul(r25486, r25420, r25485, MPFR_RNDN);
        mpfr_add(r25487, r25484, r25486, MPFR_RNDN);
        mpfr_sqrt(r25488, r25487, MPFR_RNDN);
        mpfr_mul(r25489, r25402, r25448, MPFR_RNDN);
        mpfr_fma(r25490, r25402, r25489, r25418, MPFR_RNDN);
        mpfr_fma(r25491, r25426, r25447, r25490, MPFR_RNDN);
        mpfr_fma(r25492, r25426, r25446, r25491, MPFR_RNDN);
        mpfr_mul(r25493, r25436, r25421, MPFR_RNDN);
        mpfr_mul(r25494, r25438, r25402, MPFR_RNDN);
        mpfr_mul(r25495, r25402, r25494, MPFR_RNDN);
        mpfr_fma(r25496, r25426, r25493, r25495, MPFR_RNDN);
        mpfr_mul(r25497, r25441, r25420, MPFR_RNDN);
        mpfr_fma(r25498, r25420, r25496, r25497, MPFR_RNDN);
        mpfr_add(r25499, r25492, r25498, MPFR_RNDN);
        mpfr_cbrt(r25500, r25499, MPFR_RNDN);
        mpfr_div(r25501, r25488, r25500, MPFR_RNDN);
        mpfr_mul(r25502, r25501, r25402, MPFR_RNDN);
        mpfr_mul(r25503, r25482, r25502, MPFR_RNDN);
        if (mpfr_get_si(r25458, MPFR_RNDN)) { mpfr_set(r25504, r25413, MPFR_RNDN); } else { mpfr_set(r25504, r25503, MPFR_RNDN); };
        if (mpfr_get_si(r25415, MPFR_RNDN)) { mpfr_set(r25505, r25456, MPFR_RNDN); } else { mpfr_set(r25505, r25504, MPFR_RNDN); };
        return mpfr_get_d(r25505, MPFR_RNDN);
}

static mpfr_t r25506, r25507, r25508, r25509, r25510, r25511, r25512, r25513, r25514, r25515, r25516, r25517, r25518, r25519, r25520, r25521, r25522, r25523, r25524, r25525, r25526, r25527, r25528, r25529, r25530, r25531, r25532, r25533, r25534, r25535, r25536, r25537, r25538, r25539, r25540, r25541, r25542, r25543, r25544, r25545, r25546, r25547, r25548, r25549, r25550, r25551, r25552, r25553, r25554, r25555, r25556, r25557, r25558, r25559, r25560, r25561, r25562, r25563, r25564, r25565, r25566, r25567, r25568, r25569, r25570, r25571, r25572, r25573, r25574, r25575, r25576, r25577, r25578, r25579, r25580, r25581, r25582, r25583, r25584, r25585, r25586, r25587, r25588, r25589, r25590, r25591, r25592, r25593, r25594, r25595, r25596, r25597, r25598, r25599, r25600, r25601, r25602, r25603, r25604, r25605, r25606, r25607, r25608, r25609, r25610;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r25506, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r25507);
        mpfr_init_set_str(r25508, "4", 10, MPFR_RNDN);
        mpfr_init(r25509);
        mpfr_init(r25510);
        mpfr_init_set_str(r25511, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init_set_str(r25512, "6", 10, MPFR_RNDN);
        mpfr_init(r25513);
        mpfr_init(r25514);
        mpfr_init(r25515);
        mpfr_init_set_str(r25516, "0.5", 10, MPFR_RNDN);
        mpfr_init(r25517);
        mpfr_init(r25518);
        mpfr_init_set_str(r25519, "-6.987468070790487e-08", 10, MPFR_RNDN);
        mpfr_init(r25520);
        mpfr_init(r25521);
        mpfr_init_set_str(r25522, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r25523, "1", 10, MPFR_RNDN);
        mpfr_init(r25524);
        mpfr_init(r25525);
        mpfr_init_set_str(r25526, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r25527);
        mpfr_init_set_str(r25528, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r25529);
        mpfr_init(r25530);
        mpfr_init(r25531);
        mpfr_init_set_str(r25532, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r25533);
        mpfr_init(r25534);
        mpfr_init_set_str(r25535, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r25536, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r25537);
        mpfr_init(r25538);
        mpfr_init(r25539);
        mpfr_init(r25540);
        mpfr_init_set_str(r25541, "2", 10, MPFR_RNDN);
        mpfr_init(r25542);
        mpfr_init_set_str(r25543, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r25544);
        mpfr_init(r25545);
        mpfr_init_set_str(r25546, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r25547);
        mpfr_init(r25548);
        mpfr_init_set_str(r25549, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r25550);
        mpfr_init(r25551);
        mpfr_init_set_str(r25552, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r25553, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r25554);
        mpfr_init(r25555);
        mpfr_init(r25556);
        mpfr_init(r25557);
        mpfr_init(r25558);
        mpfr_init(r25559);
        mpfr_init(r25560);
        mpfr_init(r25561);
        mpfr_init_set_str(r25562, "1.0307817012091984e-14", 10, MPFR_RNDN);
        mpfr_init(r25563);
        mpfr_init(r25564);
        mpfr_init(r25565);
        mpfr_init(r25566);
        mpfr_init(r25567);
        mpfr_init(r25568);
        mpfr_init(r25569);
        mpfr_init(r25570);
        mpfr_init(r25571);
        mpfr_init(r25572);
        mpfr_init(r25573);
        mpfr_init(r25574);
        mpfr_init(r25575);
        mpfr_init(r25576);
        mpfr_init(r25577);
        mpfr_init(r25578);
        mpfr_init(r25579);
        mpfr_init(r25580);
        mpfr_init(r25581);
        mpfr_init(r25582);
        mpfr_init(r25583);
        mpfr_init(r25584);
        mpfr_init(r25585);
        mpfr_init(r25586);
        mpfr_init(r25587);
        mpfr_init(r25588);
        mpfr_init(r25589);
        mpfr_init(r25590);
        mpfr_init(r25591);
        mpfr_init(r25592);
        mpfr_init(r25593);
        mpfr_init(r25594);
        mpfr_init(r25595);
        mpfr_init(r25596);
        mpfr_init(r25597);
        mpfr_init(r25598);
        mpfr_init(r25599);
        mpfr_init(r25600);
        mpfr_init(r25601);
        mpfr_init(r25602);
        mpfr_init(r25603);
        mpfr_init(r25604);
        mpfr_init(r25605);
        mpfr_init(r25606);
        mpfr_init(r25607);
        mpfr_init(r25608);
        mpfr_init(r25609);
        mpfr_init(r25610);
}

double f_dm(double x) {
        ;
        mpfr_set_d(r25507, x, MPFR_RNDN);
        ;
        mpfr_pow(r25509, r25507, r25508, MPFR_RNDN);
        mpfr_div(r25510, r25506, r25509, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r25513, r25507, r25512, MPFR_RNDN);
        mpfr_div(r25514, r25511, r25513, MPFR_RNDN);
        mpfr_add(r25515, r25510, r25514, MPFR_RNDN);
        ;
        mpfr_div(r25517, r25516, r25507, MPFR_RNDN);
        mpfr_fma(r25518, r25515, r25507, r25517, MPFR_RNDN);
        ;
        mpfr_set_si(r25520, mpfr_cmp(r25518, r25519) <= 0, MPFR_RNDN);
        mpfr_mul(r25521, r25507, r25507, MPFR_RNDN);
        ;
        ;
        mpfr_add(r25524, r25522, r25523, MPFR_RNDN);
        mpfr_pow(r25525, r25521, r25524, MPFR_RNDN);
        ;
        mpfr_mul(r25527, r25525, r25526, MPFR_RNDN);
        ;
        mpfr_mul(r25529, r25525, r25528, MPFR_RNDN);
        mpfr_fma(r25530, r25527, r25521, r25529, MPFR_RNDN);
        mpfr_mul(r25531, r25521, r25521, MPFR_RNDN);
        ;
        mpfr_mul(r25533, r25507, r25532, MPFR_RNDN);
        mpfr_mul(r25534, r25533, r25507, MPFR_RNDN);
        ;
        ;
        mpfr_fma(r25537, r25521, r25536, r25523, MPFR_RNDN);
        mpfr_fma(r25538, r25535, r25531, r25537, MPFR_RNDN);
        mpfr_fma(r25539, r25531, r25534, r25538, MPFR_RNDN);
        mpfr_add(r25540, r25530, r25539, MPFR_RNDN);
        ;
        mpfr_mul(r25542, r25526, r25541, MPFR_RNDN);
        ;
        mpfr_mul(r25544, r25543, r25521, MPFR_RNDN);
        mpfr_fma(r25545, r25542, r25531, r25544, MPFR_RNDN);
        ;
        mpfr_mul(r25547, r25525, r25546, MPFR_RNDN);
        mpfr_fma(r25548, r25525, r25545, r25547, MPFR_RNDN);
        ;
        mpfr_mul(r25550, r25507, r25549, MPFR_RNDN);
        mpfr_mul(r25551, r25507, r25550, MPFR_RNDN);
        ;
        ;
        mpfr_fma(r25554, r25553, r25521, r25523, MPFR_RNDN);
        mpfr_fma(r25555, r25531, r25552, r25554, MPFR_RNDN);
        mpfr_fma(r25556, r25551, r25531, r25555, MPFR_RNDN);
        mpfr_add(r25557, r25548, r25556, MPFR_RNDN);
        mpfr_div(r25558, r25540, r25557, MPFR_RNDN);
        mpfr_log1p(r25559, r25558, MPFR_RNDN);
        mpfr_expm1(r25560, r25559, MPFR_RNDN);
        mpfr_mul(r25561, r25560, r25507, MPFR_RNDN);
        ;
        mpfr_set_si(r25563, mpfr_cmp(r25518, r25562) <= 0, MPFR_RNDN);
        mpfr_mul(r25564, r25531, r25531, MPFR_RNDN);
        mpfr_mul(r25565, r25521, r25526, MPFR_RNDN);
        mpfr_mul(r25566, r25564, r25565, MPFR_RNDN);
        mpfr_mul(r25567, r25532, r25521, MPFR_RNDN);
        mpfr_mul(r25568, r25567, r25531, MPFR_RNDN);
        mpfr_add(r25569, r25568, r25538, MPFR_RNDN);
        mpfr_fma(r25570, r25528, r25564, r25569, MPFR_RNDN);
        mpfr_add(r25571, r25566, r25570, MPFR_RNDN);
        mpfr_sqrt(r25572, r25571, MPFR_RNDN);
        mpfr_mul(r25573, r25544, r25564, MPFR_RNDN);
        mpfr_mul(r25574, r25531, r25542, MPFR_RNDN);
        mpfr_mul(r25575, r25564, r25574, MPFR_RNDN);
        mpfr_add(r25576, r25573, r25575, MPFR_RNDN);
        mpfr_mul(r25577, r25553, r25507, MPFR_RNDN);
        mpfr_fma(r25578, r25577, r25507, r25523, MPFR_RNDN);
        mpfr_fma(r25579, r25552, r25531, r25578, MPFR_RNDN);
        mpfr_mul(r25580, r25521, r25549, MPFR_RNDN);
        mpfr_mul(r25581, r25531, r25580, MPFR_RNDN);
        mpfr_add(r25582, r25579, r25581, MPFR_RNDN);
        mpfr_fma(r25583, r25564, r25546, r25582, MPFR_RNDN);
        mpfr_add(r25584, r25576, r25583, MPFR_RNDN);
        mpfr_cbrt(r25585, r25584, MPFR_RNDN);
        mpfr_mul(r25586, r25585, r25585, MPFR_RNDN);
        mpfr_div(r25587, r25572, r25586, MPFR_RNDN);
        mpfr_mul(r25588, r25521, r25532, MPFR_RNDN);
        mpfr_fma(r25589, r25531, r25588, r25538, MPFR_RNDN);
        mpfr_add(r25590, r25565, r25528, MPFR_RNDN);
        mpfr_mul(r25591, r25525, r25590, MPFR_RNDN);
        mpfr_add(r25592, r25589, r25591, MPFR_RNDN);
        mpfr_sqrt(r25593, r25592, MPFR_RNDN);
        mpfr_mul(r25594, r25507, r25553, MPFR_RNDN);
        mpfr_fma(r25595, r25507, r25594, r25523, MPFR_RNDN);
        mpfr_fma(r25596, r25531, r25552, r25595, MPFR_RNDN);
        mpfr_fma(r25597, r25531, r25551, r25596, MPFR_RNDN);
        mpfr_mul(r25598, r25541, r25526, MPFR_RNDN);
        mpfr_mul(r25599, r25543, r25507, MPFR_RNDN);
        mpfr_mul(r25600, r25507, r25599, MPFR_RNDN);
        mpfr_fma(r25601, r25531, r25598, r25600, MPFR_RNDN);
        mpfr_mul(r25602, r25546, r25525, MPFR_RNDN);
        mpfr_fma(r25603, r25525, r25601, r25602, MPFR_RNDN);
        mpfr_add(r25604, r25597, r25603, MPFR_RNDN);
        mpfr_cbrt(r25605, r25604, MPFR_RNDN);
        mpfr_div(r25606, r25593, r25605, MPFR_RNDN);
        mpfr_mul(r25607, r25606, r25507, MPFR_RNDN);
        mpfr_mul(r25608, r25587, r25607, MPFR_RNDN);
        if (mpfr_get_si(r25563, MPFR_RNDN)) { mpfr_set(r25609, r25518, MPFR_RNDN); } else { mpfr_set(r25609, r25608, MPFR_RNDN); };
        if (mpfr_get_si(r25520, MPFR_RNDN)) { mpfr_set(r25610, r25561, MPFR_RNDN); } else { mpfr_set(r25610, r25609, MPFR_RNDN); };
        return mpfr_get_d(r25610, MPFR_RNDN);
}

