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

char *name = "From Warwick Tucker's Validated Numerics";

double f_if() {
        float r8535 = 333.75;
        float r8536 = 33096;
        float r8537 = 6;
        float r8538 = pow(r8536, r8537);
        float r8539 = r8535 * r8538;
        float r8540 = 77617;
        float r8541 = r8540 * r8540;
        float r8542 = 11;
        float r8543 = r8542 * r8541;
        float r8544 = r8536 * r8536;
        float r8545 = r8543 * r8544;
        float r8546 = -r8538;
        float r8547 = r8545 + r8546;
        float r8548 = -121;
        float r8549 = 4;
        float r8550 = pow(r8536, r8549);
        float r8551 = r8548 * r8550;
        float r8552 = r8547 + r8551;
        float r8553 = -2;
        float r8554 = r8552 + r8553;
        float r8555 = r8541 * r8554;
        float r8556 = r8539 + r8555;
        float r8557 = 5.5;
        float r8558 = 8;
        float r8559 = pow(r8536, r8558);
        float r8560 = r8557 * r8559;
        float r8561 = r8556 + r8560;
        float r8562 = 2;
        float r8563 = r8562 * r8536;
        float r8564 = r8540 / r8563;
        float r8565 = r8561 + r8564;
        return r8565;
}

double f_id() {
        double r8566 = 333.75;
        double r8567 = 33096;
        double r8568 = 6;
        double r8569 = pow(r8567, r8568);
        double r8570 = r8566 * r8569;
        double r8571 = 77617;
        double r8572 = r8571 * r8571;
        double r8573 = 11;
        double r8574 = r8573 * r8572;
        double r8575 = r8567 * r8567;
        double r8576 = r8574 * r8575;
        double r8577 = -r8569;
        double r8578 = r8576 + r8577;
        double r8579 = -121;
        double r8580 = 4;
        double r8581 = pow(r8567, r8580);
        double r8582 = r8579 * r8581;
        double r8583 = r8578 + r8582;
        double r8584 = -2;
        double r8585 = r8583 + r8584;
        double r8586 = r8572 * r8585;
        double r8587 = r8570 + r8586;
        double r8588 = 5.5;
        double r8589 = 8;
        double r8590 = pow(r8567, r8589);
        double r8591 = r8588 * r8590;
        double r8592 = r8587 + r8591;
        double r8593 = 2;
        double r8594 = r8593 * r8567;
        double r8595 = r8571 / r8594;
        double r8596 = r8592 + r8595;
        return r8596;
}


double f_of() {
        float r8597 = 5.5;
        float r8598 = 33096;
        float r8599 = 8;
        float r8600 = pow(r8598, r8599);
        float r8601 = r8597 * r8600;
        float r8602 = 3;
        float r8603 = pow(r8601, r8602);
        float r8604 = 77617;
        float r8605 = r8604 * r8604;
        float r8606 = 11;
        float r8607 = r8598 * r8606;
        float r8608 = r8607 * r8605;
        float r8609 = r8598 * r8608;
        float r8610 = 6;
        float r8611 = pow(r8598, r8610);
        float r8612 = -2;
        float r8613 = r8611 - r8612;
        float r8614 = -121;
        float r8615 = 4;
        float r8616 = pow(r8598, r8615);
        float r8617 = r8614 * r8616;
        float r8618 = r8613 - r8617;
        float r8619 = r8609 - r8618;
        float r8620 = r8605 * r8619;
        float r8621 = 333.75;
        float r8622 = r8611 * r8621;
        float r8623 = r8620 + r8622;
        float r8624 = r8623 * r8623;
        float r8625 = r8624 * r8623;
        float r8626 = r8603 + r8625;
        float r8627 = r8600 * r8597;
        float r8628 = r8627 * r8627;
        float r8629 = r8598 * r8607;
        float r8630 = r8629 * r8605;
        float r8631 = r8630 - r8618;
        float r8632 = r8605 * r8631;
        float r8633 = r8632 + r8622;
        float r8634 = pow(r8627, r8602);
        float r8635 = cbrt(r8634);
        float r8636 = r8635 - r8622;
        float r8637 = r8636 - r8632;
        float r8638 = r8633 * r8637;
        float r8639 = r8628 - r8638;
        float r8640 = r8626 / r8639;
        float r8641 = 2;
        float r8642 = r8641 * r8598;
        float r8643 = r8604 / r8642;
        float r8644 = r8640 + r8643;
        return r8644;
}

double f_od() {
        double r8645 = 5.5;
        double r8646 = 33096;
        double r8647 = 8;
        double r8648 = pow(r8646, r8647);
        double r8649 = r8645 * r8648;
        double r8650 = 3;
        double r8651 = pow(r8649, r8650);
        double r8652 = 77617;
        double r8653 = r8652 * r8652;
        double r8654 = 11;
        double r8655 = r8646 * r8654;
        double r8656 = r8655 * r8653;
        double r8657 = r8646 * r8656;
        double r8658 = 6;
        double r8659 = pow(r8646, r8658);
        double r8660 = -2;
        double r8661 = r8659 - r8660;
        double r8662 = -121;
        double r8663 = 4;
        double r8664 = pow(r8646, r8663);
        double r8665 = r8662 * r8664;
        double r8666 = r8661 - r8665;
        double r8667 = r8657 - r8666;
        double r8668 = r8653 * r8667;
        double r8669 = 333.75;
        double r8670 = r8659 * r8669;
        double r8671 = r8668 + r8670;
        double r8672 = r8671 * r8671;
        double r8673 = r8672 * r8671;
        double r8674 = r8651 + r8673;
        double r8675 = r8648 * r8645;
        double r8676 = r8675 * r8675;
        double r8677 = r8646 * r8655;
        double r8678 = r8677 * r8653;
        double r8679 = r8678 - r8666;
        double r8680 = r8653 * r8679;
        double r8681 = r8680 + r8670;
        double r8682 = pow(r8675, r8650);
        double r8683 = cbrt(r8682);
        double r8684 = r8683 - r8670;
        double r8685 = r8684 - r8680;
        double r8686 = r8681 * r8685;
        double r8687 = r8676 - r8686;
        double r8688 = r8674 / r8687;
        double r8689 = 2;
        double r8690 = r8689 * r8646;
        double r8691 = r8652 / r8690;
        double r8692 = r8688 + r8691;
        return r8692;
}

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 r8693, r8694, r8695, r8696, r8697, r8698, r8699, r8700, r8701, r8702, r8703, r8704, r8705, r8706, r8707, r8708, r8709, r8710, r8711, r8712, r8713, r8714, r8715, r8716, r8717, r8718, r8719, r8720, r8721, r8722, r8723;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r8693, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r8694, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r8695, "6", 10, MPFR_RNDN);
        mpfr_init(r8696);
        mpfr_init(r8697);
        mpfr_init_set_str(r8698, "77617", 10, MPFR_RNDN);
        mpfr_init(r8699);
        mpfr_init_set_str(r8700, "11", 10, MPFR_RNDN);
        mpfr_init(r8701);
        mpfr_init(r8702);
        mpfr_init(r8703);
        mpfr_init(r8704);
        mpfr_init(r8705);
        mpfr_init_set_str(r8706, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r8707, "4", 10, MPFR_RNDN);
        mpfr_init(r8708);
        mpfr_init(r8709);
        mpfr_init(r8710);
        mpfr_init_set_str(r8711, "-2", 10, MPFR_RNDN);
        mpfr_init(r8712);
        mpfr_init(r8713);
        mpfr_init(r8714);
        mpfr_init_set_str(r8715, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r8716, "8", 10, MPFR_RNDN);
        mpfr_init(r8717);
        mpfr_init(r8718);
        mpfr_init(r8719);
        mpfr_init_set_str(r8720, "2", 10, MPFR_RNDN);
        mpfr_init(r8721);
        mpfr_init(r8722);
        mpfr_init(r8723);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r8696, r8694, r8695, MPFR_RNDN);
        mpfr_mul(r8697, r8693, r8696, MPFR_RNDN);
        ;
        mpfr_mul(r8699, r8698, r8698, MPFR_RNDN);
        ;
        mpfr_mul(r8701, r8700, r8699, MPFR_RNDN);
        mpfr_mul(r8702, r8694, r8694, MPFR_RNDN);
        mpfr_mul(r8703, r8701, r8702, MPFR_RNDN);
        mpfr_neg(r8704, r8696, MPFR_RNDN);
        mpfr_add(r8705, r8703, r8704, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r8708, r8694, r8707, MPFR_RNDN);
        mpfr_mul(r8709, r8706, r8708, MPFR_RNDN);
        mpfr_add(r8710, r8705, r8709, MPFR_RNDN);
        ;
        mpfr_add(r8712, r8710, r8711, MPFR_RNDN);
        mpfr_mul(r8713, r8699, r8712, MPFR_RNDN);
        mpfr_add(r8714, r8697, r8713, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r8717, r8694, r8716, MPFR_RNDN);
        mpfr_mul(r8718, r8715, r8717, MPFR_RNDN);
        mpfr_add(r8719, r8714, r8718, MPFR_RNDN);
        ;
        mpfr_mul(r8721, r8720, r8694, MPFR_RNDN);
        mpfr_div(r8722, r8698, r8721, MPFR_RNDN);
        mpfr_add(r8723, r8719, r8722, MPFR_RNDN);
        return mpfr_get_d(r8723, MPFR_RNDN);
}

static mpfr_t r8724, r8725, r8726, r8727, r8728, r8729, r8730, r8731, r8732, r8733, r8734, r8735, r8736, r8737, r8738, r8739, r8740, r8741, r8742, r8743, r8744, r8745, r8746, r8747, r8748, r8749, r8750, r8751, r8752, r8753, r8754, r8755, r8756, r8757, r8758, r8759, r8760, r8761, r8762, r8763, r8764, r8765, r8766, r8767, r8768, r8769, r8770, r8771;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r8724, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r8725, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r8726, "8", 10, MPFR_RNDN);
        mpfr_init(r8727);
        mpfr_init(r8728);
        mpfr_init_set_str(r8729, "3", 10, MPFR_RNDN);
        mpfr_init(r8730);
        mpfr_init_set_str(r8731, "77617", 10, MPFR_RNDN);
        mpfr_init(r8732);
        mpfr_init_set_str(r8733, "11", 10, MPFR_RNDN);
        mpfr_init(r8734);
        mpfr_init(r8735);
        mpfr_init(r8736);
        mpfr_init_set_str(r8737, "6", 10, MPFR_RNDN);
        mpfr_init(r8738);
        mpfr_init_set_str(r8739, "-2", 10, MPFR_RNDN);
        mpfr_init(r8740);
        mpfr_init_set_str(r8741, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r8742, "4", 10, MPFR_RNDN);
        mpfr_init(r8743);
        mpfr_init(r8744);
        mpfr_init(r8745);
        mpfr_init(r8746);
        mpfr_init(r8747);
        mpfr_init_set_str(r8748, "333.75", 10, MPFR_RNDN);
        mpfr_init(r8749);
        mpfr_init(r8750);
        mpfr_init(r8751);
        mpfr_init(r8752);
        mpfr_init(r8753);
        mpfr_init(r8754);
        mpfr_init(r8755);
        mpfr_init(r8756);
        mpfr_init(r8757);
        mpfr_init(r8758);
        mpfr_init(r8759);
        mpfr_init(r8760);
        mpfr_init(r8761);
        mpfr_init(r8762);
        mpfr_init(r8763);
        mpfr_init(r8764);
        mpfr_init(r8765);
        mpfr_init(r8766);
        mpfr_init(r8767);
        mpfr_init_set_str(r8768, "2", 10, MPFR_RNDN);
        mpfr_init(r8769);
        mpfr_init(r8770);
        mpfr_init(r8771);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r8727, r8725, r8726, MPFR_RNDN);
        mpfr_mul(r8728, r8724, r8727, MPFR_RNDN);
        ;
        mpfr_pow(r8730, r8728, r8729, MPFR_RNDN);
        ;
        mpfr_mul(r8732, r8731, r8731, MPFR_RNDN);
        ;
        mpfr_mul(r8734, r8725, r8733, MPFR_RNDN);
        mpfr_mul(r8735, r8734, r8732, MPFR_RNDN);
        mpfr_mul(r8736, r8725, r8735, MPFR_RNDN);
        ;
        mpfr_pow(r8738, r8725, r8737, MPFR_RNDN);
        ;
        mpfr_sub(r8740, r8738, r8739, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r8743, r8725, r8742, MPFR_RNDN);
        mpfr_mul(r8744, r8741, r8743, MPFR_RNDN);
        mpfr_sub(r8745, r8740, r8744, MPFR_RNDN);
        mpfr_sub(r8746, r8736, r8745, MPFR_RNDN);
        mpfr_mul(r8747, r8732, r8746, MPFR_RNDN);
        ;
        mpfr_mul(r8749, r8738, r8748, MPFR_RNDN);
        mpfr_add(r8750, r8747, r8749, MPFR_RNDN);
        mpfr_mul(r8751, r8750, r8750, MPFR_RNDN);
        mpfr_mul(r8752, r8751, r8750, MPFR_RNDN);
        mpfr_add(r8753, r8730, r8752, MPFR_RNDN);
        mpfr_mul(r8754, r8727, r8724, MPFR_RNDN);
        mpfr_mul(r8755, r8754, r8754, MPFR_RNDN);
        mpfr_mul(r8756, r8725, r8734, MPFR_RNDN);
        mpfr_mul(r8757, r8756, r8732, MPFR_RNDN);
        mpfr_sub(r8758, r8757, r8745, MPFR_RNDN);
        mpfr_mul(r8759, r8732, r8758, MPFR_RNDN);
        mpfr_add(r8760, r8759, r8749, MPFR_RNDN);
        mpfr_pow(r8761, r8754, r8729, MPFR_RNDN);
        mpfr_cbrt(r8762, r8761, MPFR_RNDN);
        mpfr_sub(r8763, r8762, r8749, MPFR_RNDN);
        mpfr_sub(r8764, r8763, r8759, MPFR_RNDN);
        mpfr_mul(r8765, r8760, r8764, MPFR_RNDN);
        mpfr_sub(r8766, r8755, r8765, MPFR_RNDN);
        mpfr_div(r8767, r8753, r8766, MPFR_RNDN);
        ;
        mpfr_mul(r8769, r8768, r8725, MPFR_RNDN);
        mpfr_div(r8770, r8731, r8769, MPFR_RNDN);
        mpfr_add(r8771, r8767, r8770, MPFR_RNDN);
        return mpfr_get_d(r8771, MPFR_RNDN);
}

static mpfr_t r8772, r8773, r8774, r8775, r8776, r8777, r8778, r8779, r8780, r8781, r8782, r8783, r8784, r8785, r8786, r8787, r8788, r8789, r8790, r8791, r8792, r8793, r8794, r8795, r8796, r8797, r8798, r8799, r8800, r8801, r8802, r8803, r8804, r8805, r8806, r8807, r8808, r8809, r8810, r8811, r8812, r8813, r8814, r8815, r8816, r8817, r8818, r8819;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r8772, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r8773, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r8774, "8", 10, MPFR_RNDN);
        mpfr_init(r8775);
        mpfr_init(r8776);
        mpfr_init_set_str(r8777, "3", 10, MPFR_RNDN);
        mpfr_init(r8778);
        mpfr_init_set_str(r8779, "77617", 10, MPFR_RNDN);
        mpfr_init(r8780);
        mpfr_init_set_str(r8781, "11", 10, MPFR_RNDN);
        mpfr_init(r8782);
        mpfr_init(r8783);
        mpfr_init(r8784);
        mpfr_init_set_str(r8785, "6", 10, MPFR_RNDN);
        mpfr_init(r8786);
        mpfr_init_set_str(r8787, "-2", 10, MPFR_RNDN);
        mpfr_init(r8788);
        mpfr_init_set_str(r8789, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r8790, "4", 10, MPFR_RNDN);
        mpfr_init(r8791);
        mpfr_init(r8792);
        mpfr_init(r8793);
        mpfr_init(r8794);
        mpfr_init(r8795);
        mpfr_init_set_str(r8796, "333.75", 10, MPFR_RNDN);
        mpfr_init(r8797);
        mpfr_init(r8798);
        mpfr_init(r8799);
        mpfr_init(r8800);
        mpfr_init(r8801);
        mpfr_init(r8802);
        mpfr_init(r8803);
        mpfr_init(r8804);
        mpfr_init(r8805);
        mpfr_init(r8806);
        mpfr_init(r8807);
        mpfr_init(r8808);
        mpfr_init(r8809);
        mpfr_init(r8810);
        mpfr_init(r8811);
        mpfr_init(r8812);
        mpfr_init(r8813);
        mpfr_init(r8814);
        mpfr_init(r8815);
        mpfr_init_set_str(r8816, "2", 10, MPFR_RNDN);
        mpfr_init(r8817);
        mpfr_init(r8818);
        mpfr_init(r8819);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_pow(r8775, r8773, r8774, MPFR_RNDN);
        mpfr_mul(r8776, r8772, r8775, MPFR_RNDN);
        ;
        mpfr_pow(r8778, r8776, r8777, MPFR_RNDN);
        ;
        mpfr_mul(r8780, r8779, r8779, MPFR_RNDN);
        ;
        mpfr_mul(r8782, r8773, r8781, MPFR_RNDN);
        mpfr_mul(r8783, r8782, r8780, MPFR_RNDN);
        mpfr_mul(r8784, r8773, r8783, MPFR_RNDN);
        ;
        mpfr_pow(r8786, r8773, r8785, MPFR_RNDN);
        ;
        mpfr_sub(r8788, r8786, r8787, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r8791, r8773, r8790, MPFR_RNDN);
        mpfr_mul(r8792, r8789, r8791, MPFR_RNDN);
        mpfr_sub(r8793, r8788, r8792, MPFR_RNDN);
        mpfr_sub(r8794, r8784, r8793, MPFR_RNDN);
        mpfr_mul(r8795, r8780, r8794, MPFR_RNDN);
        ;
        mpfr_mul(r8797, r8786, r8796, MPFR_RNDN);
        mpfr_add(r8798, r8795, r8797, MPFR_RNDN);
        mpfr_mul(r8799, r8798, r8798, MPFR_RNDN);
        mpfr_mul(r8800, r8799, r8798, MPFR_RNDN);
        mpfr_add(r8801, r8778, r8800, MPFR_RNDN);
        mpfr_mul(r8802, r8775, r8772, MPFR_RNDN);
        mpfr_mul(r8803, r8802, r8802, MPFR_RNDN);
        mpfr_mul(r8804, r8773, r8782, MPFR_RNDN);
        mpfr_mul(r8805, r8804, r8780, MPFR_RNDN);
        mpfr_sub(r8806, r8805, r8793, MPFR_RNDN);
        mpfr_mul(r8807, r8780, r8806, MPFR_RNDN);
        mpfr_add(r8808, r8807, r8797, MPFR_RNDN);
        mpfr_pow(r8809, r8802, r8777, MPFR_RNDN);
        mpfr_cbrt(r8810, r8809, MPFR_RNDN);
        mpfr_sub(r8811, r8810, r8797, MPFR_RNDN);
        mpfr_sub(r8812, r8811, r8807, MPFR_RNDN);
        mpfr_mul(r8813, r8808, r8812, MPFR_RNDN);
        mpfr_sub(r8814, r8803, r8813, MPFR_RNDN);
        mpfr_div(r8815, r8801, r8814, MPFR_RNDN);
        ;
        mpfr_mul(r8817, r8816, r8773, MPFR_RNDN);
        mpfr_div(r8818, r8779, r8817, MPFR_RNDN);
        mpfr_add(r8819, r8815, r8818, MPFR_RNDN);
        return mpfr_get_d(r8819, MPFR_RNDN);
}

