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

char *name = "VandenBroeck and Keller, Equation (20)";

double f_if(float f) {
        float r8282 = 1;
        float r8283 = atan2(1.0, 0.0);
        float r8284 = 4;
        float r8285 = r8283 / r8284;
        float r8286 = r8282 / r8285;
        float r8287 = f;
        float r8288 = r8285 * r8287;
        float r8289 = exp(r8288);
        float r8290 = -r8288;
        float r8291 = exp(r8290);
        float r8292 = r8289 + r8291;
        float r8293 = r8289 - r8291;
        float r8294 = r8292 / r8293;
        float r8295 = log(r8294);
        float r8296 = r8286 * r8295;
        float r8297 = -r8296;
        return r8297;
}

double f_id(double f) {
        double r8298 = 1;
        double r8299 = atan2(1.0, 0.0);
        double r8300 = 4;
        double r8301 = r8299 / r8300;
        double r8302 = r8298 / r8301;
        double r8303 = f;
        double r8304 = r8301 * r8303;
        double r8305 = exp(r8304);
        double r8306 = -r8304;
        double r8307 = exp(r8306);
        double r8308 = r8305 + r8307;
        double r8309 = r8305 - r8307;
        double r8310 = r8308 / r8309;
        double r8311 = log(r8310);
        double r8312 = r8302 * r8311;
        double r8313 = -r8312;
        return r8313;
}


double f_of(float f) {
        float r8314 = f;
        float r8315 = r8314 * r8314;
        float r8316 = atan2(1.0, 0.0);
        float r8317 = r8315 * r8316;
        float r8318 = 7/96;
        float r8319 = 3/2;
        float r8320 = r8319 * r8314;
        float r8321 = fma(r8317, r8318, r8320);
        float r8322 = -r8321;
        float r8323 = 4;
        float r8324 = r8323 / r8316;
        float r8325 = log(r8314);
        float r8326 = log(r8324);
        float r8327 = r8325 - r8326;
        float r8328 = expm1(r8327);
        float r8329 = log1p(r8328);
        float r8330 = r8324 * r8329;
        float r8331 = r8322 + r8330;
        float r8332 = -1.4509068521284864e+17;
        bool r8333 = r8331 <= r8332;
        float r8334 = log(r8323);
        float r8335 = r8325 - r8334;
        float r8336 = r8324 * r8335;
        float r8337 = log(r8316);
        float r8338 = r8324 * r8337;
        float r8339 = r8336 + r8338;
        float r8340 = r8322 + r8339;
        float r8341 = -52359817.530938186;
        bool r8342 = r8331 <= r8341;
        float r8343 = 1;
        float r8344 = log(r8343);
        float r8345 = r8344 / r8316;
        float r8346 = -r8323;
        float r8347 = r8345 * r8346;
        float r8348 = -24.727664437970862;
        bool r8349 = r8331 <= r8348;
        float r8350 = -r8314;
        float r8351 = r8316 / r8323;
        float r8352 = r8350 * r8351;
        float r8353 = exp(r8352);
        float r8354 = r8323 / r8314;
        float r8355 = r8316 / r8354;
        float r8356 = exp(r8355);
        float r8357 = r8353 + r8356;
        float r8358 = 1/192;
        float r8359 = r8358 * r8314;
        float r8360 = r8314 * r8316;
        float r8361 = r8360 * r8360;
        float r8362 = 1/2;
        float r8363 = r8314 * r8362;
        float r8364 = fma(r8359, r8361, r8363);
        float r8365 = 1/16;
        float r8366 = r8361 * r8365;
        float r8367 = fma(r8316, r8364, r8366);
        float r8368 = r8357 / r8367;
        float r8369 = log(r8368);
        float r8370 = -r8324;
        float r8371 = r8369 * r8370;
        float r8372 = r8343 / r8351;
        float r8373 = r8351 * r8314;
        float r8374 = exp(r8373);
        float r8375 = -r8373;
        float r8376 = exp(r8375);
        float r8377 = r8374 + r8376;
        float r8378 = r8314 + r8314;
        float r8379 = r8378 * r8351;
        float r8380 = exp(r8379);
        float r8381 = exp(r8350);
        float r8382 = r8351 + r8351;
        float r8383 = pow(r8381, r8382);
        float r8384 = r8380 - r8383;
        float r8385 = r8384 / r8377;
        float r8386 = r8377 / r8385;
        float r8387 = log(r8386);
        float r8388 = r8372 * r8387;
        float r8389 = -r8388;
        float r8390 = r8349 ? r8371 : r8389;
        float r8391 = r8342 ? r8347 : r8390;
        float r8392 = r8333 ? r8340 : r8391;
        return r8392;
}

double f_od(double f) {
        double r8393 = f;
        double r8394 = r8393 * r8393;
        double r8395 = atan2(1.0, 0.0);
        double r8396 = r8394 * r8395;
        double r8397 = 7/96;
        double r8398 = 3/2;
        double r8399 = r8398 * r8393;
        double r8400 = fma(r8396, r8397, r8399);
        double r8401 = -r8400;
        double r8402 = 4;
        double r8403 = r8402 / r8395;
        double r8404 = log(r8393);
        double r8405 = log(r8403);
        double r8406 = r8404 - r8405;
        double r8407 = expm1(r8406);
        double r8408 = log1p(r8407);
        double r8409 = r8403 * r8408;
        double r8410 = r8401 + r8409;
        double r8411 = -1.4509068521284864e+17;
        bool r8412 = r8410 <= r8411;
        double r8413 = log(r8402);
        double r8414 = r8404 - r8413;
        double r8415 = r8403 * r8414;
        double r8416 = log(r8395);
        double r8417 = r8403 * r8416;
        double r8418 = r8415 + r8417;
        double r8419 = r8401 + r8418;
        double r8420 = -52359817.530938186;
        bool r8421 = r8410 <= r8420;
        double r8422 = 1;
        double r8423 = log(r8422);
        double r8424 = r8423 / r8395;
        double r8425 = -r8402;
        double r8426 = r8424 * r8425;
        double r8427 = -24.727664437970862;
        bool r8428 = r8410 <= r8427;
        double r8429 = -r8393;
        double r8430 = r8395 / r8402;
        double r8431 = r8429 * r8430;
        double r8432 = exp(r8431);
        double r8433 = r8402 / r8393;
        double r8434 = r8395 / r8433;
        double r8435 = exp(r8434);
        double r8436 = r8432 + r8435;
        double r8437 = 1/192;
        double r8438 = r8437 * r8393;
        double r8439 = r8393 * r8395;
        double r8440 = r8439 * r8439;
        double r8441 = 1/2;
        double r8442 = r8393 * r8441;
        double r8443 = fma(r8438, r8440, r8442);
        double r8444 = 1/16;
        double r8445 = r8440 * r8444;
        double r8446 = fma(r8395, r8443, r8445);
        double r8447 = r8436 / r8446;
        double r8448 = log(r8447);
        double r8449 = -r8403;
        double r8450 = r8448 * r8449;
        double r8451 = r8422 / r8430;
        double r8452 = r8430 * r8393;
        double r8453 = exp(r8452);
        double r8454 = -r8452;
        double r8455 = exp(r8454);
        double r8456 = r8453 + r8455;
        double r8457 = r8393 + r8393;
        double r8458 = r8457 * r8430;
        double r8459 = exp(r8458);
        double r8460 = exp(r8429);
        double r8461 = r8430 + r8430;
        double r8462 = pow(r8460, r8461);
        double r8463 = r8459 - r8462;
        double r8464 = r8463 / r8456;
        double r8465 = r8456 / r8464;
        double r8466 = log(r8465);
        double r8467 = r8451 * r8466;
        double r8468 = -r8467;
        double r8469 = r8428 ? r8450 : r8468;
        double r8470 = r8421 ? r8426 : r8469;
        double r8471 = r8412 ? r8419 : r8470;
        return r8471;
}

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 r8472, r8473, r8474, r8475, r8476, r8477, r8478, r8479, r8480, r8481, r8482, r8483, r8484, r8485, r8486, r8487;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init_set_str(r8472, "1", 10, MPFR_RNDN);
        mpfr_init(r8473);
        mpfr_init_set_str(r8474, "4", 10, MPFR_RNDN);
        mpfr_init(r8475);
        mpfr_init(r8476);
        mpfr_init(r8477);
        mpfr_init(r8478);
        mpfr_init(r8479);
        mpfr_init(r8480);
        mpfr_init(r8481);
        mpfr_init(r8482);
        mpfr_init(r8483);
        mpfr_init(r8484);
        mpfr_init(r8485);
        mpfr_init(r8486);
        mpfr_init(r8487);
}

double f_im(double f) {
        ;
        mpfr_const_pi(r8473, MPFR_RNDN);
        ;
        mpfr_div(r8475, r8473, r8474, MPFR_RNDN);
        mpfr_div(r8476, r8472, r8475, MPFR_RNDN);
        mpfr_set_d(r8477, f, MPFR_RNDN);
        mpfr_mul(r8478, r8475, r8477, MPFR_RNDN);
        mpfr_exp(r8479, r8478, MPFR_RNDN);
        mpfr_neg(r8480, r8478, MPFR_RNDN);
        mpfr_exp(r8481, r8480, MPFR_RNDN);
        mpfr_add(r8482, r8479, r8481, MPFR_RNDN);
        mpfr_sub(r8483, r8479, r8481, MPFR_RNDN);
        mpfr_div(r8484, r8482, r8483, MPFR_RNDN);
        mpfr_log(r8485, r8484, MPFR_RNDN);
        mpfr_mul(r8486, r8476, r8485, MPFR_RNDN);
        mpfr_neg(r8487, r8486, MPFR_RNDN);
        return mpfr_get_d(r8487, MPFR_RNDN);
}

static mpfr_t r8488, r8489, r8490, r8491, r8492, r8493, r8494, r8495, r8496, r8497, r8498, r8499, r8500, r8501, r8502, r8503, r8504, r8505, r8506, r8507, r8508, r8509, r8510, r8511, r8512, r8513, r8514, r8515, r8516, r8517, r8518, r8519, r8520, r8521, r8522, r8523, r8524, r8525, r8526, r8527, r8528, r8529, r8530, r8531, r8532, r8533, r8534, r8535, r8536, r8537, r8538, r8539, r8540, r8541, r8542, r8543, r8544, r8545, r8546, r8547, r8548, r8549, r8550, r8551, r8552, r8553, r8554, r8555, r8556, r8557, r8558, r8559, r8560, r8561, r8562, r8563, r8564, r8565, r8566;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r8488);
        mpfr_init(r8489);
        mpfr_init(r8490);
        mpfr_init(r8491);
        mpfr_init_set_str(r8492, "7/96", 10, MPFR_RNDN);
        mpfr_init_set_str(r8493, "3/2", 10, MPFR_RNDN);
        mpfr_init(r8494);
        mpfr_init(r8495);
        mpfr_init(r8496);
        mpfr_init_set_str(r8497, "4", 10, MPFR_RNDN);
        mpfr_init(r8498);
        mpfr_init(r8499);
        mpfr_init(r8500);
        mpfr_init(r8501);
        mpfr_init(r8502);
        mpfr_init(r8503);
        mpfr_init(r8504);
        mpfr_init(r8505);
        mpfr_init_set_str(r8506, "-1.4509068521284864e+17", 10, MPFR_RNDN);
        mpfr_init(r8507);
        mpfr_init(r8508);
        mpfr_init(r8509);
        mpfr_init(r8510);
        mpfr_init(r8511);
        mpfr_init(r8512);
        mpfr_init(r8513);
        mpfr_init(r8514);
        mpfr_init_set_str(r8515, "-52359817.530938186", 10, MPFR_RNDN);
        mpfr_init(r8516);
        mpfr_init_set_str(r8517, "1", 10, MPFR_RNDN);
        mpfr_init(r8518);
        mpfr_init(r8519);
        mpfr_init(r8520);
        mpfr_init(r8521);
        mpfr_init_set_str(r8522, "-24.727664437970862", 10, MPFR_RNDN);
        mpfr_init(r8523);
        mpfr_init(r8524);
        mpfr_init(r8525);
        mpfr_init(r8526);
        mpfr_init(r8527);
        mpfr_init(r8528);
        mpfr_init(r8529);
        mpfr_init(r8530);
        mpfr_init(r8531);
        mpfr_init_set_str(r8532, "1/192", 10, MPFR_RNDN);
        mpfr_init(r8533);
        mpfr_init(r8534);
        mpfr_init(r8535);
        mpfr_init_set_str(r8536, "1/2", 10, MPFR_RNDN);
        mpfr_init(r8537);
        mpfr_init(r8538);
        mpfr_init_set_str(r8539, "1/16", 10, MPFR_RNDN);
        mpfr_init(r8540);
        mpfr_init(r8541);
        mpfr_init(r8542);
        mpfr_init(r8543);
        mpfr_init(r8544);
        mpfr_init(r8545);
        mpfr_init(r8546);
        mpfr_init(r8547);
        mpfr_init(r8548);
        mpfr_init(r8549);
        mpfr_init(r8550);
        mpfr_init(r8551);
        mpfr_init(r8552);
        mpfr_init(r8553);
        mpfr_init(r8554);
        mpfr_init(r8555);
        mpfr_init(r8556);
        mpfr_init(r8557);
        mpfr_init(r8558);
        mpfr_init(r8559);
        mpfr_init(r8560);
        mpfr_init(r8561);
        mpfr_init(r8562);
        mpfr_init(r8563);
        mpfr_init(r8564);
        mpfr_init(r8565);
        mpfr_init(r8566);
}

double f_fm(double f) {
        mpfr_set_d(r8488, f, MPFR_RNDN);
        mpfr_mul(r8489, r8488, r8488, MPFR_RNDN);
        mpfr_const_pi(r8490, MPFR_RNDN);
        mpfr_mul(r8491, r8489, r8490, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r8494, r8493, r8488, MPFR_RNDN);
        mpfr_fma(r8495, r8491, r8492, r8494, MPFR_RNDN);
        mpfr_neg(r8496, r8495, MPFR_RNDN);
        ;
        mpfr_div(r8498, r8497, r8490, MPFR_RNDN);
        mpfr_log(r8499, r8488, MPFR_RNDN);
        mpfr_log(r8500, r8498, MPFR_RNDN);
        mpfr_sub(r8501, r8499, r8500, MPFR_RNDN);
        mpfr_expm1(r8502, r8501, MPFR_RNDN);
        mpfr_log1p(r8503, r8502, MPFR_RNDN);
        mpfr_mul(r8504, r8498, r8503, MPFR_RNDN);
        mpfr_add(r8505, r8496, r8504, MPFR_RNDN);
        ;
        mpfr_set_si(r8507, mpfr_cmp(r8505, r8506) <= 0, MPFR_RNDN);
        mpfr_log(r8508, r8497, MPFR_RNDN);
        mpfr_sub(r8509, r8499, r8508, MPFR_RNDN);
        mpfr_mul(r8510, r8498, r8509, MPFR_RNDN);
        mpfr_log(r8511, r8490, MPFR_RNDN);
        mpfr_mul(r8512, r8498, r8511, MPFR_RNDN);
        mpfr_add(r8513, r8510, r8512, MPFR_RNDN);
        mpfr_add(r8514, r8496, r8513, MPFR_RNDN);
        ;
        mpfr_set_si(r8516, mpfr_cmp(r8505, r8515) <= 0, MPFR_RNDN);
        ;
        mpfr_log(r8518, r8517, MPFR_RNDN);
        mpfr_div(r8519, r8518, r8490, MPFR_RNDN);
        mpfr_neg(r8520, r8497, MPFR_RNDN);
        mpfr_mul(r8521, r8519, r8520, MPFR_RNDN);
        ;
        mpfr_set_si(r8523, mpfr_cmp(r8505, r8522) <= 0, MPFR_RNDN);
        mpfr_neg(r8524, r8488, MPFR_RNDN);
        mpfr_div(r8525, r8490, r8497, MPFR_RNDN);
        mpfr_mul(r8526, r8524, r8525, MPFR_RNDN);
        mpfr_exp(r8527, r8526, MPFR_RNDN);
        mpfr_div(r8528, r8497, r8488, MPFR_RNDN);
        mpfr_div(r8529, r8490, r8528, MPFR_RNDN);
        mpfr_exp(r8530, r8529, MPFR_RNDN);
        mpfr_add(r8531, r8527, r8530, MPFR_RNDN);
        ;
        mpfr_mul(r8533, r8532, r8488, MPFR_RNDN);
        mpfr_mul(r8534, r8488, r8490, MPFR_RNDN);
        mpfr_mul(r8535, r8534, r8534, MPFR_RNDN);
        ;
        mpfr_mul(r8537, r8488, r8536, MPFR_RNDN);
        mpfr_fma(r8538, r8533, r8535, r8537, MPFR_RNDN);
        ;
        mpfr_mul(r8540, r8535, r8539, MPFR_RNDN);
        mpfr_fma(r8541, r8490, r8538, r8540, MPFR_RNDN);
        mpfr_div(r8542, r8531, r8541, MPFR_RNDN);
        mpfr_log(r8543, r8542, MPFR_RNDN);
        mpfr_neg(r8544, r8498, MPFR_RNDN);
        mpfr_mul(r8545, r8543, r8544, MPFR_RNDN);
        mpfr_div(r8546, r8517, r8525, MPFR_RNDN);
        mpfr_mul(r8547, r8525, r8488, MPFR_RNDN);
        mpfr_exp(r8548, r8547, MPFR_RNDN);
        mpfr_neg(r8549, r8547, MPFR_RNDN);
        mpfr_exp(r8550, r8549, MPFR_RNDN);
        mpfr_add(r8551, r8548, r8550, MPFR_RNDN);
        mpfr_add(r8552, r8488, r8488, MPFR_RNDN);
        mpfr_mul(r8553, r8552, r8525, MPFR_RNDN);
        mpfr_exp(r8554, r8553, MPFR_RNDN);
        mpfr_exp(r8555, r8524, MPFR_RNDN);
        mpfr_add(r8556, r8525, r8525, MPFR_RNDN);
        mpfr_pow(r8557, r8555, r8556, MPFR_RNDN);
        mpfr_sub(r8558, r8554, r8557, MPFR_RNDN);
        mpfr_div(r8559, r8558, r8551, MPFR_RNDN);
        mpfr_div(r8560, r8551, r8559, MPFR_RNDN);
        mpfr_log(r8561, r8560, MPFR_RNDN);
        mpfr_mul(r8562, r8546, r8561, MPFR_RNDN);
        mpfr_neg(r8563, r8562, MPFR_RNDN);
        if (mpfr_get_si(r8523, MPFR_RNDN)) { mpfr_set(r8564, r8545, MPFR_RNDN); } else { mpfr_set(r8564, r8563, MPFR_RNDN); };
        if (mpfr_get_si(r8516, MPFR_RNDN)) { mpfr_set(r8565, r8521, MPFR_RNDN); } else { mpfr_set(r8565, r8564, MPFR_RNDN); };
        if (mpfr_get_si(r8507, MPFR_RNDN)) { mpfr_set(r8566, r8514, MPFR_RNDN); } else { mpfr_set(r8566, r8565, MPFR_RNDN); };
        return mpfr_get_d(r8566, MPFR_RNDN);
}

static mpfr_t r8567, r8568, r8569, r8570, r8571, r8572, r8573, r8574, r8575, r8576, r8577, r8578, r8579, r8580, r8581, r8582, r8583, r8584, r8585, r8586, r8587, r8588, r8589, r8590, r8591, r8592, r8593, r8594, r8595, r8596, r8597, r8598, r8599, r8600, r8601, r8602, r8603, r8604, r8605, r8606, r8607, r8608, r8609, r8610, r8611, r8612, r8613, r8614, r8615, r8616, r8617, r8618, r8619, r8620, r8621, r8622, r8623, r8624, r8625, r8626, r8627, r8628, r8629, r8630, r8631, r8632, r8633, r8634, r8635, r8636, r8637, r8638, r8639, r8640, r8641, r8642, r8643, r8644, r8645;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r8567);
        mpfr_init(r8568);
        mpfr_init(r8569);
        mpfr_init(r8570);
        mpfr_init_set_str(r8571, "7/96", 10, MPFR_RNDN);
        mpfr_init_set_str(r8572, "3/2", 10, MPFR_RNDN);
        mpfr_init(r8573);
        mpfr_init(r8574);
        mpfr_init(r8575);
        mpfr_init_set_str(r8576, "4", 10, MPFR_RNDN);
        mpfr_init(r8577);
        mpfr_init(r8578);
        mpfr_init(r8579);
        mpfr_init(r8580);
        mpfr_init(r8581);
        mpfr_init(r8582);
        mpfr_init(r8583);
        mpfr_init(r8584);
        mpfr_init_set_str(r8585, "-1.4509068521284864e+17", 10, MPFR_RNDN);
        mpfr_init(r8586);
        mpfr_init(r8587);
        mpfr_init(r8588);
        mpfr_init(r8589);
        mpfr_init(r8590);
        mpfr_init(r8591);
        mpfr_init(r8592);
        mpfr_init(r8593);
        mpfr_init_set_str(r8594, "-52359817.530938186", 10, MPFR_RNDN);
        mpfr_init(r8595);
        mpfr_init_set_str(r8596, "1", 10, MPFR_RNDN);
        mpfr_init(r8597);
        mpfr_init(r8598);
        mpfr_init(r8599);
        mpfr_init(r8600);
        mpfr_init_set_str(r8601, "-24.727664437970862", 10, MPFR_RNDN);
        mpfr_init(r8602);
        mpfr_init(r8603);
        mpfr_init(r8604);
        mpfr_init(r8605);
        mpfr_init(r8606);
        mpfr_init(r8607);
        mpfr_init(r8608);
        mpfr_init(r8609);
        mpfr_init(r8610);
        mpfr_init_set_str(r8611, "1/192", 10, MPFR_RNDN);
        mpfr_init(r8612);
        mpfr_init(r8613);
        mpfr_init(r8614);
        mpfr_init_set_str(r8615, "1/2", 10, MPFR_RNDN);
        mpfr_init(r8616);
        mpfr_init(r8617);
        mpfr_init_set_str(r8618, "1/16", 10, MPFR_RNDN);
        mpfr_init(r8619);
        mpfr_init(r8620);
        mpfr_init(r8621);
        mpfr_init(r8622);
        mpfr_init(r8623);
        mpfr_init(r8624);
        mpfr_init(r8625);
        mpfr_init(r8626);
        mpfr_init(r8627);
        mpfr_init(r8628);
        mpfr_init(r8629);
        mpfr_init(r8630);
        mpfr_init(r8631);
        mpfr_init(r8632);
        mpfr_init(r8633);
        mpfr_init(r8634);
        mpfr_init(r8635);
        mpfr_init(r8636);
        mpfr_init(r8637);
        mpfr_init(r8638);
        mpfr_init(r8639);
        mpfr_init(r8640);
        mpfr_init(r8641);
        mpfr_init(r8642);
        mpfr_init(r8643);
        mpfr_init(r8644);
        mpfr_init(r8645);
}

double f_dm(double f) {
        mpfr_set_d(r8567, f, MPFR_RNDN);
        mpfr_mul(r8568, r8567, r8567, MPFR_RNDN);
        mpfr_const_pi(r8569, MPFR_RNDN);
        mpfr_mul(r8570, r8568, r8569, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r8573, r8572, r8567, MPFR_RNDN);
        mpfr_fma(r8574, r8570, r8571, r8573, MPFR_RNDN);
        mpfr_neg(r8575, r8574, MPFR_RNDN);
        ;
        mpfr_div(r8577, r8576, r8569, MPFR_RNDN);
        mpfr_log(r8578, r8567, MPFR_RNDN);
        mpfr_log(r8579, r8577, MPFR_RNDN);
        mpfr_sub(r8580, r8578, r8579, MPFR_RNDN);
        mpfr_expm1(r8581, r8580, MPFR_RNDN);
        mpfr_log1p(r8582, r8581, MPFR_RNDN);
        mpfr_mul(r8583, r8577, r8582, MPFR_RNDN);
        mpfr_add(r8584, r8575, r8583, MPFR_RNDN);
        ;
        mpfr_set_si(r8586, mpfr_cmp(r8584, r8585) <= 0, MPFR_RNDN);
        mpfr_log(r8587, r8576, MPFR_RNDN);
        mpfr_sub(r8588, r8578, r8587, MPFR_RNDN);
        mpfr_mul(r8589, r8577, r8588, MPFR_RNDN);
        mpfr_log(r8590, r8569, MPFR_RNDN);
        mpfr_mul(r8591, r8577, r8590, MPFR_RNDN);
        mpfr_add(r8592, r8589, r8591, MPFR_RNDN);
        mpfr_add(r8593, r8575, r8592, MPFR_RNDN);
        ;
        mpfr_set_si(r8595, mpfr_cmp(r8584, r8594) <= 0, MPFR_RNDN);
        ;
        mpfr_log(r8597, r8596, MPFR_RNDN);
        mpfr_div(r8598, r8597, r8569, MPFR_RNDN);
        mpfr_neg(r8599, r8576, MPFR_RNDN);
        mpfr_mul(r8600, r8598, r8599, MPFR_RNDN);
        ;
        mpfr_set_si(r8602, mpfr_cmp(r8584, r8601) <= 0, MPFR_RNDN);
        mpfr_neg(r8603, r8567, MPFR_RNDN);
        mpfr_div(r8604, r8569, r8576, MPFR_RNDN);
        mpfr_mul(r8605, r8603, r8604, MPFR_RNDN);
        mpfr_exp(r8606, r8605, MPFR_RNDN);
        mpfr_div(r8607, r8576, r8567, MPFR_RNDN);
        mpfr_div(r8608, r8569, r8607, MPFR_RNDN);
        mpfr_exp(r8609, r8608, MPFR_RNDN);
        mpfr_add(r8610, r8606, r8609, MPFR_RNDN);
        ;
        mpfr_mul(r8612, r8611, r8567, MPFR_RNDN);
        mpfr_mul(r8613, r8567, r8569, MPFR_RNDN);
        mpfr_mul(r8614, r8613, r8613, MPFR_RNDN);
        ;
        mpfr_mul(r8616, r8567, r8615, MPFR_RNDN);
        mpfr_fma(r8617, r8612, r8614, r8616, MPFR_RNDN);
        ;
        mpfr_mul(r8619, r8614, r8618, MPFR_RNDN);
        mpfr_fma(r8620, r8569, r8617, r8619, MPFR_RNDN);
        mpfr_div(r8621, r8610, r8620, MPFR_RNDN);
        mpfr_log(r8622, r8621, MPFR_RNDN);
        mpfr_neg(r8623, r8577, MPFR_RNDN);
        mpfr_mul(r8624, r8622, r8623, MPFR_RNDN);
        mpfr_div(r8625, r8596, r8604, MPFR_RNDN);
        mpfr_mul(r8626, r8604, r8567, MPFR_RNDN);
        mpfr_exp(r8627, r8626, MPFR_RNDN);
        mpfr_neg(r8628, r8626, MPFR_RNDN);
        mpfr_exp(r8629, r8628, MPFR_RNDN);
        mpfr_add(r8630, r8627, r8629, MPFR_RNDN);
        mpfr_add(r8631, r8567, r8567, MPFR_RNDN);
        mpfr_mul(r8632, r8631, r8604, MPFR_RNDN);
        mpfr_exp(r8633, r8632, MPFR_RNDN);
        mpfr_exp(r8634, r8603, MPFR_RNDN);
        mpfr_add(r8635, r8604, r8604, MPFR_RNDN);
        mpfr_pow(r8636, r8634, r8635, MPFR_RNDN);
        mpfr_sub(r8637, r8633, r8636, MPFR_RNDN);
        mpfr_div(r8638, r8637, r8630, MPFR_RNDN);
        mpfr_div(r8639, r8630, r8638, MPFR_RNDN);
        mpfr_log(r8640, r8639, MPFR_RNDN);
        mpfr_mul(r8641, r8625, r8640, MPFR_RNDN);
        mpfr_neg(r8642, r8641, MPFR_RNDN);
        if (mpfr_get_si(r8602, MPFR_RNDN)) { mpfr_set(r8643, r8624, MPFR_RNDN); } else { mpfr_set(r8643, r8642, MPFR_RNDN); };
        if (mpfr_get_si(r8595, MPFR_RNDN)) { mpfr_set(r8644, r8600, MPFR_RNDN); } else { mpfr_set(r8644, r8643, MPFR_RNDN); };
        if (mpfr_get_si(r8586, MPFR_RNDN)) { mpfr_set(r8645, r8593, MPFR_RNDN); } else { mpfr_set(r8645, r8644, MPFR_RNDN); };
        return mpfr_get_d(r8645, MPFR_RNDN);
}

