From 1962b87895cc3e135e749ed5d47c503dc66d3b7e Mon Sep 17 00:00:00 2001 From: hugogogo Date: Fri, 5 Jun 2026 12:14:21 +0200 Subject: [PATCH] fix X and reduced form --- headers/computorv1.h | 2 +- src/launcher.c | 20 +-- src/lexer.c | 10 +- src/parser.c | 21 +-- src/printer_equation.c | 10 +- src/printer_solutions.c | 34 ++-- tester.sh | 380 +++++++++++++++++++++++----------------- 7 files changed, 274 insertions(+), 203 deletions(-) diff --git a/headers/computorv1.h b/headers/computorv1.h index 0610694..8f8da49 100644 --- a/headers/computorv1.h +++ b/headers/computorv1.h @@ -101,7 +101,7 @@ typedef struct int exponent; } s_term; -void parse(s_token *tokens, s_term *terms, int terms_count_max); +void parse(s_token *tokens, s_term *terms); /** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * REDUCE.C diff --git a/src/launcher.c b/src/launcher.c index f9c0e20..9a047f5 100644 --- a/src/launcher.c +++ b/src/launcher.c @@ -54,16 +54,17 @@ static int get_max_exponent(s_term *terms) i++; } + print_debug("-> max_exponent: %i\n\n", max_exponent); return max_exponent; } static int get_number_of_exponents(s_term *terms, int max_exponent) { int i; - int nbr_of_exponent; + int nbr_of_exponents; - if (max_exponent <= 0 || max_exponent > MAX_VLA_SIZE) - stop_errors("max_exponent should be between 1 and %d, but got : %d\n", MAX_VLA_SIZE, max_exponent); + if (max_exponent < 0 || max_exponent > MAX_VLA_SIZE) + stop_errors("max_exponent should be between 0 and %d, but got : %d\n", MAX_VLA_SIZE, max_exponent); int exponent_present[max_exponent]; ft_bzero(exponent_present, sizeof(exponent_present)); @@ -76,16 +77,17 @@ static int get_number_of_exponents(s_term *terms, int max_exponent) } // Count unique exponents - nbr_of_exponent = 0; + nbr_of_exponents = 0; i = 0; while (i < max_exponent) { if (exponent_present[i] == 1) - nbr_of_exponent++; + nbr_of_exponents++; i++; } - return nbr_of_exponent; + print_debug("-> nbr_of_exponents: %i\n\n", nbr_of_exponents); + return nbr_of_exponents; } void launch_computorv1(char *input) @@ -118,15 +120,11 @@ void launch_computorv1(char *input) s_term terms[terms_count_prediction]; terms_g_err = terms; ft_bzero(terms, sizeof(terms)); - parse(tokens, terms, terms_count_prediction); + parse(tokens, terms); // reduce max_exponent = get_max_exponent(terms); - print_debug("-> max_exponent: %i\n\n", max_exponent); nbr_of_exponents = get_number_of_exponents(terms, max_exponent); - print_debug("-> nbr_of_exponents: %i\n\n", nbr_of_exponents); - if (nbr_of_exponents <= 0 || nbr_of_exponents > MAX_VLA_SIZE) - stop_errors("nbr_of_exponents should be between 1 and %d, but got : %d\n", MAX_VLA_SIZE, nbr_of_exponents); s_polynom polynom[nbr_of_exponents + 2]; // +1 for last term, +1 for the degree (eg. degree 2 means 3 terms) polynom_g_err = polynom; ft_bzero(polynom, sizeof(polynom)); diff --git a/src/lexer.c b/src/lexer.c index a0280fc..57d88ef 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -256,9 +256,9 @@ void lexerize(const char *input, s_token *tokens) int tokens_count; int input_pos; int token_size; - bool has_equal; + // bool has_equal; - has_equal = false; + // has_equal = false; tokens_count = 0; input_pos = 0; while (input[input_pos]) @@ -326,7 +326,7 @@ void lexerize(const char *input, s_token *tokens) } else if (token_is_equal(input, input_pos, &token_size)) { - has_equal = true; + // has_equal = true; tokens[tokens_count].type = TOKEN_EQUAL; tokens[tokens_count].tag = TOKEN_NO_TAG; tokens[tokens_count].value_char = '='; @@ -344,8 +344,8 @@ void lexerize(const char *input, s_token *tokens) input_pos += token_size; } - if (!has_equal) - stop_errors("the input polynomial does not contains an equal sign, it's an expression not an equation.\n"); + // if (!has_equal) + // stop_errors("the input polynomial does not contains an equal sign, it's an expression not an equation.\n"); tokens[tokens_count].type = TOKEN_END; tokens[tokens_count].tag = TOKEN_NO_TAG; diff --git a/src/parser.c b/src/parser.c index 91614a1..9080673 100644 --- a/src/parser.c +++ b/src/parser.c @@ -222,7 +222,7 @@ static void check_variables(s_token *tokens) } } -void parse(s_token *tokens, s_term *terms, int terms_count_max) +void parse(s_token *tokens, s_term *terms) { int i; int terms_count; @@ -238,7 +238,7 @@ void parse(s_token *tokens, s_term *terms, int terms_count_max) token_count = 0; i = 0; term_position = TERM_LEFT; - while (tokens[i].type != TOKEN_END && terms_count < terms_count_max) + while (tokens[i].type != TOKEN_END) { print_debug("- token[%i]\n", i); @@ -277,16 +277,9 @@ void parse(s_token *tokens, s_term *terms, int terms_count_max) terms_count++; } - // last token is TOKEN_END, and terms[] should have at least one more spot for the END term - if (tokens[i].type == TOKEN_END && terms_count < terms_count_max) - { - terms[terms_count].position = TERM_POS_END; - terms[terms_count].sign = TERM_SIGN_END; - terms[terms_count].coefficient = 0; - terms[terms_count].exponent = 0; - } - else - { - stop_errors("terms_count: %i, terms_count_max: %i, tokens[%i].type: %s", terms_count, terms_count_max, i, token_type_to_str(tokens[i].type)); - } + // last token is TOKEN_END + terms[terms_count].position = TERM_POS_END; + terms[terms_count].sign = TERM_SIGN_END; + terms[terms_count].coefficient = 0; + terms[terms_count].exponent = 0; } \ No newline at end of file diff --git a/src/printer_equation.c b/src/printer_equation.c index 6b9cce5..71a5494 100644 --- a/src/printer_equation.c +++ b/src/printer_equation.c @@ -61,18 +61,18 @@ static void print_reduced_form_beautify(s_polynom *polynom) if (exponent == 1) { if (coefficient == 1) - printf("x "); + printf("X "); if (coefficient > 1) - printf("%gx ", coefficient); + printf("%gX ", coefficient); } // for x² if (exponent >= 2) { if (coefficient == 1) - printf("x%s ", ft_superscript(exponent + '0')); + printf("X%s ", ft_superscript(exponent + '0')); if (coefficient > 1) - printf("%gx%s ", coefficient, ft_superscript(exponent + '0')); + printf("%gX%s ", coefficient, ft_superscript(exponent + '0')); } fflush(stdout); @@ -116,7 +116,7 @@ void print_reduced_form(s_polynom *polynom, int degree) // print term if (!is_first_term) ft_putchar(' '); - printf("%g * x^%i ", ft_fabs(found_term->coefficient), i); + printf("%g * X^%i ", ft_fabs(found_term->coefficient), i); fflush(stdout); is_first_term = false; diff --git a/src/printer_solutions.c b/src/printer_solutions.c index 58d479c..d105c9c 100644 --- a/src/printer_solutions.c +++ b/src/printer_solutions.c @@ -135,14 +135,13 @@ static void print_solution_delta_zero(s_solution_degree_2 solution) static void print_solution_delta_positiv(s_solution_degree_2 solution) { ft_printf("Discriminant is strictly positive, the two solutions are:\n"); - printf("%g\n", positiv_zero(solution.left_term + solution.right_term)); printf("%g\n", positiv_zero(solution.left_term - solution.right_term)); + printf("%g\n", positiv_zero(solution.left_term + solution.right_term)); } static void print_solution_delta_negativ(s_solution_degree_2 solution) { double denominator; - double denominator_abs; int denominator_sign; double right_term_abs; int right_term_sign; @@ -154,32 +153,45 @@ static void print_solution_delta_negativ(s_solution_degree_2 solution) if (solution.all_int) { + double first_term_numerator; + double first_term_denominator_abs; + double second_term_numerator; + double second_term_denominator_abs; + denominator = positiv_zero(solution.a * 2); - denominator_abs = ft_fabs(denominator); denominator_sign = ft_fsign(denominator); + + first_term_denominator_abs = ft_fabs(denominator); + first_term_numerator = solution.b; + reduce_fraction(&first_term_numerator, &first_term_denominator_abs); + + second_term_denominator_abs = ft_fabs(denominator); + second_term_numerator = positiv_zero(solution.delta_sqrt); + reduce_fraction(&second_term_numerator, &second_term_denominator_abs); + // solution 1 - if (!is_nearly_equal_zero(solution.b)) + if (!is_nearly_equal_zero(first_term_numerator)) { has_first_term = true; - printf("%g/%g ", solution.b * -1 * denominator_sign, denominator_abs); + printf("%g/%g ", first_term_numerator * -1 * denominator_sign, first_term_denominator_abs); } if (denominator_sign == -1) printf("- "); else if (has_first_term) printf("+ "); // dont print '+' if it's first term - printf("%gi/%g\n", positiv_zero(solution.delta_sqrt), denominator_abs); + printf("%gi/%g\n", second_term_numerator, second_term_denominator_abs); // solution 2 - if (!is_nearly_equal_zero(solution.b)) + if (!is_nearly_equal_zero(first_term_numerator)) { has_first_term = true; - printf("%g/%g ", solution.b * -1 * denominator_sign, denominator_abs); + printf("%g/%g ", first_term_numerator * -1 * denominator_sign, first_term_denominator_abs); } if (denominator_sign == 1) printf("- "); else if (has_first_term) printf("+ "); // dont print '+' if it's first term - printf("%gi/%g\n", positiv_zero(solution.delta_sqrt), denominator_abs); + printf("%gi/%g\n", second_term_numerator, second_term_denominator_abs); } else { @@ -192,7 +204,7 @@ static void print_solution_delta_negativ(s_solution_degree_2 solution) has_first_term = true; printf("%g ", solution.left_term); } - if (right_term_sign == -1) + if (right_term_sign == 1) printf("- "); else if (has_first_term) printf("+ "); // dont print '+' if it's first term @@ -205,7 +217,7 @@ static void print_solution_delta_negativ(s_solution_degree_2 solution) has_first_term = true; printf("%g ", solution.left_term); } - if (right_term_sign == 1) + if (right_term_sign == -1) printf("- "); else if (has_first_term) printf("+ "); // dont print '+' if it's first term diff --git a/tester.sh b/tester.sh index 8a0e08d..f48af3d 100644 --- a/tester.sh +++ b/tester.sh @@ -133,8 +133,8 @@ run_test() { run_test \ "1. degree 2" \ -"3 * x^2 + 5 * x^1 - 2 * x^0 = 5 * x^1" "\ -Reduced form: -2 * x^0 + 0 * x^1 + 3 * x^2 = 0 +"3 * X^2 + 5 * X^1 - 2 * X^0 = 5 * X^1" "\ +Reduced form: -2 * X^0 + 0 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: √(2/3) @@ -142,193 +142,195 @@ Discriminant is strictly positive, the two solutions are: run_test \ "2. degree 2" \ -"3.4 * x^2 + 1 * x^1 - 2.0 * x^0 = 5 * x^1" "\ -Reduced form: -2 * x^0 - 4 * x^1 + 3.4 * x^2 = 0 +"3.4 * X^2 + 1 * X^1 - 2.0 * X^0 = 5 * X^1" "\ +Reduced form: -2 * X^0 - 4 * X^1 + 3.4 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: -1.5548 --0.378334" +-0.378334 +1.5548" run_test \ "3. degree 2" \ -"3 * x^2 + 2 * x^2 = 5 * x^1" "\ -Reduced form: 0 * x^0 - 5 * x^1 + 5 * x^2 = 0 +"3 * X^2 + 2 * X^2 = 5 * X^1" "\ +Reduced form: 0 * X^0 - 5 * X^1 + 5 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: -1 -0" +0 +1" run_test \ "4. flag -e" \ -'-e "3 * x^2 + 2 * x - 7 * x^4 = 1 * x^4"' \ +'-e "3 * X^2 + 2 * X - 7 * X^4 = 1 * X^4"' \ "" \ error run_test \ "5. degree 2" \ -"3*x^2 + 2x = 0" "\ -Reduced form: 0 * x^0 + 2 * x^1 + 3 * x^2 = 0 +"3*X^2 + 2X = 0" "\ +Reduced form: 0 * X^0 + 2 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: -0 --0.666667" +-0.666667 +0" run_test \ "6. degree 2" \ -"3.4 * x^2 + 1 * x^1 - 2.0 * x^0 = 5.123 * x^1" "\ -Reduced form: -2 * x^0 - 4.123 * x^1 + 3.4 * x^2 = 0 +"3.4 * X^2 + 1 * X^1 - 2.0 * X^0 = 5.123 * X^1" "\ +Reduced form: -2 * X^0 - 4.123 * X^1 + 3.4 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: -1.58401 --0.371359" +-0.371359 +1.58401" run_test \ -"7. float exponent" \ -"3.4 * x^2 + 1 * x^1 - 2.0 * x^0 = 5 * x^1.2" \ +"7. float eXponent" \ +"3.4 * X^2 + 1 * X^1 - 2.0 * X^0 = 5 * X^1.2" \ "" \ error run_test \ "8. degree 4" \ -"3x^2 + 2x -7x^4 = x^4" "\ -Reduced form: 0 * x^0 + 2 * x^1 + 3 * x^2 + 0 * x^3 - 8 * x^4 = 0 +"3X^2 + 2X -7X^4 = X^4" "\ +Reduced form: 0 * X^0 + 2 * X^1 + 3 * X^2 + 0 * X^3 - 8 * X^4 = 0 Polynomial degree: 4 The polynomial degree is strictly greater than 2, I can't solve." run_test \ "9. degree 2" \ -"3x² + 2x -7x¹ = x" "\ -Reduced form: 0 * x^0 - 6 * x^1 + 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly positive, the two solutions are: -2 -0" - -run_test \ -"10. degree 2" \ -"3 * x^2 + 2 * x - 7 * x^1 = x" "\ -Reduced form: 0 * x^0 - 6 * x^1 + 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly positive, the two solutions are: -2 -0" - -run_test \ -"11. degree 2" \ -"-3x² + 2x -7 = x" "\ -Reduced form: -7 * x^0 + 1 * x^1 - 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly negative, the two complex solutions are: -0.166667 - 1.51841*i -0.166667 + 1.51841*i" - -run_test \ -"12. degree 2" \ -"+3x² + 2x -7 = x" "\ -Reduced form: -7 * x^0 + 1 * x^1 + 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly positive, the two solutions are: -1.36992 --1.70326" - -run_test \ -"13. degree 2" \ -"3x² + 0x -7 = x" "\ -Reduced form: -7 * x^0 - 1 * x^1 + 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly positive, the two solutions are: -1.70326 --1.36992" - -run_test \ -"14. degree 2" \ -"3x² + 0x -0 = x" "\ -Reduced form: 0 * x^0 - 1 * x^1 + 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly positive, the two solutions are: -0.333333 -0" - -run_test \ -"15. degree 2" \ -"3x² + 2x -0 = x" "\ -Reduced form: 0 * x^0 + 1 * x^1 + 3 * x^2 = 0 +"3X² + 2X -7X¹ = X" "\ +Reduced form: 0 * X^0 - 6 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: 0 --0.333333" +2" + +run_test \ +"10. degree 2" \ +"3 * X^2 + 2 * X - 7 * X^1 = X" "\ +Reduced form: 0 * X^0 - 6 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +0 +2" + +run_test \ +"11. degree 2" \ +"-3X² + 2X -7 = X" "\ +Reduced form: -7 * X^0 + 1 * X^1 - 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly negative, the two complex solutions are: +0.166667 + 1.51841*i +0.166667 - 1.51841*i" + +run_test \ +"12. degree 2" \ +"+3X² + 2X -7 = X" "\ +Reduced form: -7 * X^0 + 1 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +-1.70326 +1.36992" + +run_test \ +"13. degree 2" \ +"3X² + 0X -7 = X" "\ +Reduced form: -7 * X^0 - 1 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +-1.36992 +1.70326" + +run_test \ +"14. degree 2" \ +"3X² + 0X -0 = X" "\ +Reduced form: 0 * X^0 - 1 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +0 +0.333333" + +run_test \ +"15. degree 2" \ +"3X² + 2X -0 = X" "\ +Reduced form: 0 * X^0 + 1 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +-0.333333 +0" run_test \ "16. degree 1" \ -"3x + 2x -0 = x" "\ -Reduced form: 0 * x^0 + 4 * x^1 = 0 +"3X + 2X -0 = X" "\ +Reduced form: 0 * X^0 + 4 * X^1 = 0 Polynomial degree: 1 The solution is: 0" run_test \ "17. degree 2" \ -"3x² + x -0 = x" "\ -Reduced form: 0 * x^0 + 0 * x^1 + 3 * x^2 = 0 +"3X² + X -0 = X" "\ +Reduced form: 0 * X^0 + 0 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is equal to zero, the solution is: 0" run_test \ "18. degree 2" \ -"0x² + x -0 = x" "\ -Reduced form: 0 * x^0 = 0 +"0X² + X -0 = X" "\ +Reduced form: 0 * X^0 = 0 Any real number is a solution." run_test \ "19. degree 5" \ -"2x⁵ + x -0 = -7x^5" "\ -Reduced form: 0 * x^0 + 1 * x^1 + 0 * x^2 + 0 * x^3 + 0 * x^4 + 9 * x^5 = 0 +"2X⁵ + X -0 = -7X^5" "\ +Reduced form: 0 * X^0 + 1 * X^1 + 0 * X^2 + 0 * X^3 + 0 * X^4 + 9 * X^5 = 0 Polynomial degree: 5 The polynomial degree is strictly greater than 2, I can't solve." run_test \ "20. degree 1" \ -"2x + x -0 = -7x" "\ -Reduced form: 0 * x^0 + 10 * x^1 = 0 +"2X + X -0 = -7X" "\ +Reduced form: 0 * X^0 + 10 * X^1 = 0 Polynomial degree: 1 The solution is: 0" run_test \ "21. degree 1" \ -"2x + x -3 = -7x" "\ -Reduced form: -3 * x^0 + 10 * x^1 = 0 +"2X + X -3 = -7X" "\ +Reduced form: -3 * X^0 + 10 * X^1 = 0 Polynomial degree: 1 The solution is: 0.3" run_test \ "22. degree 1" \ -"-2x + x -3 = -7x" "\ -Reduced form: -3 * x^0 + 6 * x^1 = 0 +"-2X + X -3 = -7X" "\ +Reduced form: -3 * X^0 + 6 * X^1 = 0 Polynomial degree: 1 The solution is: 0.5" run_test \ "23. degree 2 without [=]" \ -"3x^2" \ -"" \ -error +"3X^2" "\ +Reduced form: 0 * X^0 + 0 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is equal to zero, the solution is: +0" run_test \ "24. degree 2" \ -"3x^2 = 0" "\ -Reduced form: 0 * x^0 + 0 * x^1 + 3 * x^2 = 0 +"3X^2 = 0" "\ +Reduced form: 0 * X^0 + 0 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is equal to zero, the solution is: 0" run_test \ "25. degree 2" \ -"3x^2 + 2 = 0" "\ -Reduced form: 2 * x^0 + 0 * x^1 + 3 * x^2 = 0 +"3X^2 + 2 = 0" "\ +Reduced form: 2 * X^0 + 0 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly negative, the two complex solutions are: i√(2/3) @@ -336,8 +338,8 @@ i√(2/3) run_test \ "26. degree 2 pure" \ -"3 * x^2 + 5 * x^1 - 2 * x^0 = 5 * x" "\ -Reduced form: -2 * x^0 + 0 * x^1 + 3 * x^2 = 0 +"3 * X^2 + 5 * X^1 - 2 * X^0 = 5 * X" "\ +Reduced form: -2 * X^0 + 0 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: √(2/3) @@ -345,8 +347,8 @@ Discriminant is strictly positive, the two solutions are: run_test \ "27. degree 2 pure" \ -"9 * x^2 + 5 * x^1 - 2 * x^0 = 5 * x" "\ -Reduced form: -2 * x^0 + 0 * x^1 + 9 * x^2 = 0 +"9 * X^2 + 5 * X^1 - 2 * X^0 = 5 * X" "\ +Reduced form: -2 * X^0 + 0 * X^1 + 9 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: √(2)/3 @@ -354,8 +356,8 @@ Discriminant is strictly positive, the two solutions are: run_test \ "28. degree 2 pure" \ -"3 * x^2 + 5 * x^1 - 4 * x^0 = 5 * x" "\ -Reduced form: -4 * x^0 + 0 * x^1 + 3 * x^2 = 0 +"3 * X^2 + 5 * X^1 - 4 * X^0 = 5 * X" "\ +Reduced form: -4 * X^0 + 0 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: 2/√(3) @@ -363,8 +365,8 @@ Discriminant is strictly positive, the two solutions are: run_test \ "29. degree 2 pure" \ -"16 * x^2 + 5 * x^1 - 4 * x^0 = 5 * x" "\ -Reduced form: -4 * x^0 + 0 * x^1 + 16 * x^2 = 0 +"16 * X^2 + 5 * X^1 - 4 * X^0 = 5 * X" "\ +Reduced form: -4 * X^0 + 0 * X^1 + 16 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: 1/2 @@ -372,8 +374,8 @@ Discriminant is strictly positive, the two solutions are: run_test \ "30. degree 2 pure" \ -"4 * x^2 + 5 * x^1 - 16 * x^0 = 5 * x" "\ -Reduced form: -16 * x^0 + 0 * x^1 + 4 * x^2 = 0 +"4 * X^2 + 5 * X^1 - 16 * X^0 = 5 * X" "\ +Reduced form: -16 * X^0 + 0 * X^1 + 4 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: 2 @@ -381,92 +383,158 @@ Discriminant is strictly positive, the two solutions are: run_test \ "31. degree 2" \ -"3x² + 2x -7 = x" "\ -Reduced form: -7 * x^0 + 1 * x^1 + 3 * x^2 = 0 +"3X² + 2X -7 = X" "\ +Reduced form: -7 * X^0 + 1 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: -1.36992 --1.70326" +-1.70326 +1.36992" run_test \ "32. degree 2 sign -" \ -"3x² + -2x -7 = 0" "\ -Reduced form: -7 * x^0 - 2 * x^1 + 3 * x^2 = 0 +"3X² + -2X -7 = 0" "\ +Reduced form: -7 * X^0 - 2 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: -1.89681 --1.23014" +-1.23014 +1.89681" run_test \ "33. degree 2 float because big" \ -"3x² + 12345678901234567x -7 = 0" "\ -Reduced form: -7 * x^0 + 1.23457e+16 * x^1 + 3 * x^2 = 0 +"3X² + 12345678901234567X -7 = 0" "\ +Reduced form: -7 * X^0 + 1.23457e+16 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: -0 --4.11523e+15" - -run_test \ -"34. degree 2 float because too big by 1" \ -"3x² + 2147483648x -7 = 0" "\ -Reduced form: -7 * x^0 + 2.14748e+09 * x^1 + 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly positive, the two solutions are: -0 --7.15828e+08" - -run_test \ -"35. degree 2 float because too small by 1" \ -"3x² + -2147483649x -7 = 0" "\ -Reduced form: -7 * x^0 - 2.14748e+09 * x^1 + 3 * x^2 = 0 -Polynomial degree: 2 -Discriminant is strictly positive, the two solutions are: -7.15828e+08 +-4.11523e+15 0" run_test \ -"36. degree 2 int max" \ -"3x² + 2147483647x -7 = 0" "\ -Reduced form: -7 * x^0 + 2.14748e+09 * x^1 + 3 * x^2 = 0 +"34. degree 2 float because too big by 1" \ +"3X² + 2147483648X -7 = 0" "\ +Reduced form: -7 * X^0 + 2.14748e+09 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +-7.15828e+08 +0" + +run_test \ +"35. degree 2 float because too small by 1" \ +"3X² + -2147483649X -7 = 0" "\ +Reduced form: -7 * X^0 - 2.14748e+09 * X^1 + 3 * X^2 = 0 Polynomial degree: 2 Discriminant is strictly positive, the two solutions are: 0 --7.15828e+08" +7.15828e+08" run_test \ -"37. degree 2 exponent too big" \ -"3x²¹⁴⁷⁴⁸³⁶⁴⁷ + 2x -7 = 0" \ +"36. degree 2 int maX" \ +"3X² + 2147483647X -7 = 0" "\ +Reduced form: -7 * X^0 + 2.14748e+09 * X^1 + 3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +-7.15828e+08 +0" + +run_test \ +"37. degree 2 eXponent too big" \ +"3X²¹⁴⁷⁴⁸³⁶⁴⁷ + 2X -7 = 0" \ "" \ error run_test \ "38. degree 2 big enough in superscript" \ -"3x¹⁰²⁴ + 2x -7 = 0" "\ -Reduced form: -7 * x^0 + 2 * x^1 + 0 * x^2 + 0 * x^3 + 0 * x^4 + 0 * x^5 + 0 * x^6 + 0 * x^7 + 0 * x^8 + 0 * x^9 + 0 * x^10 + 0 * x^11 + 0 * x^12 + 0 * x^13 + 0 * x^14 + 0 * x^15 + 0 * x^16 + 0 * x^17 + 0 * x^18 + 0 * x^19 + 0 * x^20 + 0 * x^21 + 0 * x^22 + 0 * x^23 + 0 * x^24 + 0 * x^25 + 0 * x^26 + 0 * x^27 + 0 * x^28 + 0 * x^29 + 0 * x^30 + 0 * x^31 + 0 * x^32 + 0 * x^33 + 0 * x^34 + 0 * x^35 + 0 * x^36 + 0 * x^37 + 0 * x^38 + 0 * x^39 + 0 * x^40 + 0 * x^41 + 0 * x^42 + 0 * x^43 + 0 * x^44 + 0 * x^45 + 0 * x^46 + 0 * x^47 + 0 * x^48 + 0 * x^49 + 0 * x^50 + 0 * x^51 + 0 * x^52 + 0 * x^53 + 0 * x^54 + 0 * x^55 + 0 * x^56 + 0 * x^57 + 0 * x^58 + 0 * x^59 + 0 * x^60 + 0 * x^61 + 0 * x^62 + 0 * x^63 + 0 * x^64 + 0 * x^65 + 0 * x^66 + 0 * x^67 + 0 * x^68 + 0 * x^69 + 0 * x^70 + 0 * x^71 + 0 * x^72 + 0 * x^73 + 0 * x^74 + 0 * x^75 + 0 * x^76 + 0 * x^77 + 0 * x^78 + 0 * x^79 + 0 * x^80 + 0 * x^81 + 0 * x^82 + 0 * x^83 + 0 * x^84 + 0 * x^85 + 0 * x^86 + 0 * x^87 + 0 * x^88 + 0 * x^89 + 0 * x^90 + 0 * x^91 + 0 * x^92 + 0 * x^93 + 0 * x^94 + 0 * x^95 + 0 * x^96 + 0 * x^97 + 0 * x^98 + 0 * x^99 + 0 * x^100 + 0 * x^101 + 0 * x^102 + 0 * x^103 + 0 * x^104 + 0 * x^105 + 0 * x^106 + 0 * x^107 + 0 * x^108 + 0 * x^109 + 0 * x^110 + 0 * x^111 + 0 * x^112 + 0 * x^113 + 0 * x^114 + 0 * x^115 + 0 * x^116 + 0 * x^117 + 0 * x^118 + 0 * x^119 + 0 * x^120 + 0 * x^121 + 0 * x^122 + 0 * x^123 + 0 * x^124 + 0 * x^125 + 0 * x^126 + 0 * x^127 + 0 * x^128 + 0 * x^129 + 0 * x^130 + 0 * x^131 + 0 * x^132 + 0 * x^133 + 0 * x^134 + 0 * x^135 + 0 * x^136 + 0 * x^137 + 0 * x^138 + 0 * x^139 + 0 * x^140 + 0 * x^141 + 0 * x^142 + 0 * x^143 + 0 * x^144 + 0 * x^145 + 0 * x^146 + 0 * x^147 + 0 * x^148 + 0 * x^149 + 0 * x^150 + 0 * x^151 + 0 * x^152 + 0 * x^153 + 0 * x^154 + 0 * x^155 + 0 * x^156 + 0 * x^157 + 0 * x^158 + 0 * x^159 + 0 * x^160 + 0 * x^161 + 0 * x^162 + 0 * x^163 + 0 * x^164 + 0 * x^165 + 0 * x^166 + 0 * x^167 + 0 * x^168 + 0 * x^169 + 0 * x^170 + 0 * x^171 + 0 * x^172 + 0 * x^173 + 0 * x^174 + 0 * x^175 + 0 * x^176 + 0 * x^177 + 0 * x^178 + 0 * x^179 + 0 * x^180 + 0 * x^181 + 0 * x^182 + 0 * x^183 + 0 * x^184 + 0 * x^185 + 0 * x^186 + 0 * x^187 + 0 * x^188 + 0 * x^189 + 0 * x^190 + 0 * x^191 + 0 * x^192 + 0 * x^193 + 0 * x^194 + 0 * x^195 + 0 * x^196 + 0 * x^197 + 0 * x^198 + 0 * x^199 + 0 * x^200 + 0 * x^201 + 0 * x^202 + 0 * x^203 + 0 * x^204 + 0 * x^205 + 0 * x^206 + 0 * x^207 + 0 * x^208 + 0 * x^209 + 0 * x^210 + 0 * x^211 + 0 * x^212 + 0 * x^213 + 0 * x^214 + 0 * x^215 + 0 * x^216 + 0 * x^217 + 0 * x^218 + 0 * x^219 + 0 * x^220 + 0 * x^221 + 0 * x^222 + 0 * x^223 + 0 * x^224 + 0 * x^225 + 0 * x^226 + 0 * x^227 + 0 * x^228 + 0 * x^229 + 0 * x^230 + 0 * x^231 + 0 * x^232 + 0 * x^233 + 0 * x^234 + 0 * x^235 + 0 * x^236 + 0 * x^237 + 0 * x^238 + 0 * x^239 + 0 * x^240 + 0 * x^241 + 0 * x^242 + 0 * x^243 + 0 * x^244 + 0 * x^245 + 0 * x^246 + 0 * x^247 + 0 * x^248 + 0 * x^249 + 0 * x^250 + 0 * x^251 + 0 * x^252 + 0 * x^253 + 0 * x^254 + 0 * x^255 + 0 * x^256 + 0 * x^257 + 0 * x^258 + 0 * x^259 + 0 * x^260 + 0 * x^261 + 0 * x^262 + 0 * x^263 + 0 * x^264 + 0 * x^265 + 0 * x^266 + 0 * x^267 + 0 * x^268 + 0 * x^269 + 0 * x^270 + 0 * x^271 + 0 * x^272 + 0 * x^273 + 0 * x^274 + 0 * x^275 + 0 * x^276 + 0 * x^277 + 0 * x^278 + 0 * x^279 + 0 * x^280 + 0 * x^281 + 0 * x^282 + 0 * x^283 + 0 * x^284 + 0 * x^285 + 0 * x^286 + 0 * x^287 + 0 * x^288 + 0 * x^289 + 0 * x^290 + 0 * x^291 + 0 * x^292 + 0 * x^293 + 0 * x^294 + 0 * x^295 + 0 * x^296 + 0 * x^297 + 0 * x^298 + 0 * x^299 + 0 * x^300 + 0 * x^301 + 0 * x^302 + 0 * x^303 + 0 * x^304 + 0 * x^305 + 0 * x^306 + 0 * x^307 + 0 * x^308 + 0 * x^309 + 0 * x^310 + 0 * x^311 + 0 * x^312 + 0 * x^313 + 0 * x^314 + 0 * x^315 + 0 * x^316 + 0 * x^317 + 0 * x^318 + 0 * x^319 + 0 * x^320 + 0 * x^321 + 0 * x^322 + 0 * x^323 + 0 * x^324 + 0 * x^325 + 0 * x^326 + 0 * x^327 + 0 * x^328 + 0 * x^329 + 0 * x^330 + 0 * x^331 + 0 * x^332 + 0 * x^333 + 0 * x^334 + 0 * x^335 + 0 * x^336 + 0 * x^337 + 0 * x^338 + 0 * x^339 + 0 * x^340 + 0 * x^341 + 0 * x^342 + 0 * x^343 + 0 * x^344 + 0 * x^345 + 0 * x^346 + 0 * x^347 + 0 * x^348 + 0 * x^349 + 0 * x^350 + 0 * x^351 + 0 * x^352 + 0 * x^353 + 0 * x^354 + 0 * x^355 + 0 * x^356 + 0 * x^357 + 0 * x^358 + 0 * x^359 + 0 * x^360 + 0 * x^361 + 0 * x^362 + 0 * x^363 + 0 * x^364 + 0 * x^365 + 0 * x^366 + 0 * x^367 + 0 * x^368 + 0 * x^369 + 0 * x^370 + 0 * x^371 + 0 * x^372 + 0 * x^373 + 0 * x^374 + 0 * x^375 + 0 * x^376 + 0 * x^377 + 0 * x^378 + 0 * x^379 + 0 * x^380 + 0 * x^381 + 0 * x^382 + 0 * x^383 + 0 * x^384 + 0 * x^385 + 0 * x^386 + 0 * x^387 + 0 * x^388 + 0 * x^389 + 0 * x^390 + 0 * x^391 + 0 * x^392 + 0 * x^393 + 0 * x^394 + 0 * x^395 + 0 * x^396 + 0 * x^397 + 0 * x^398 + 0 * x^399 + 0 * x^400 + 0 * x^401 + 0 * x^402 + 0 * x^403 + 0 * x^404 + 0 * x^405 + 0 * x^406 + 0 * x^407 + 0 * x^408 + 0 * x^409 + 0 * x^410 + 0 * x^411 + 0 * x^412 + 0 * x^413 + 0 * x^414 + 0 * x^415 + 0 * x^416 + 0 * x^417 + 0 * x^418 + 0 * x^419 + 0 * x^420 + 0 * x^421 + 0 * x^422 + 0 * x^423 + 0 * x^424 + 0 * x^425 + 0 * x^426 + 0 * x^427 + 0 * x^428 + 0 * x^429 + 0 * x^430 + 0 * x^431 + 0 * x^432 + 0 * x^433 + 0 * x^434 + 0 * x^435 + 0 * x^436 + 0 * x^437 + 0 * x^438 + 0 * x^439 + 0 * x^440 + 0 * x^441 + 0 * x^442 + 0 * x^443 + 0 * x^444 + 0 * x^445 + 0 * x^446 + 0 * x^447 + 0 * x^448 + 0 * x^449 + 0 * x^450 + 0 * x^451 + 0 * x^452 + 0 * x^453 + 0 * x^454 + 0 * x^455 + 0 * x^456 + 0 * x^457 + 0 * x^458 + 0 * x^459 + 0 * x^460 + 0 * x^461 + 0 * x^462 + 0 * x^463 + 0 * x^464 + 0 * x^465 + 0 * x^466 + 0 * x^467 + 0 * x^468 + 0 * x^469 + 0 * x^470 + 0 * x^471 + 0 * x^472 + 0 * x^473 + 0 * x^474 + 0 * x^475 + 0 * x^476 + 0 * x^477 + 0 * x^478 + 0 * x^479 + 0 * x^480 + 0 * x^481 + 0 * x^482 + 0 * x^483 + 0 * x^484 + 0 * x^485 + 0 * x^486 + 0 * x^487 + 0 * x^488 + 0 * x^489 + 0 * x^490 + 0 * x^491 + 0 * x^492 + 0 * x^493 + 0 * x^494 + 0 * x^495 + 0 * x^496 + 0 * x^497 + 0 * x^498 + 0 * x^499 + 0 * x^500 + 0 * x^501 + 0 * x^502 + 0 * x^503 + 0 * x^504 + 0 * x^505 + 0 * x^506 + 0 * x^507 + 0 * x^508 + 0 * x^509 + 0 * x^510 + 0 * x^511 + 0 * x^512 + 0 * x^513 + 0 * x^514 + 0 * x^515 + 0 * x^516 + 0 * x^517 + 0 * x^518 + 0 * x^519 + 0 * x^520 + 0 * x^521 + 0 * x^522 + 0 * x^523 + 0 * x^524 + 0 * x^525 + 0 * x^526 + 0 * x^527 + 0 * x^528 + 0 * x^529 + 0 * x^530 + 0 * x^531 + 0 * x^532 + 0 * x^533 + 0 * x^534 + 0 * x^535 + 0 * x^536 + 0 * x^537 + 0 * x^538 + 0 * x^539 + 0 * x^540 + 0 * x^541 + 0 * x^542 + 0 * x^543 + 0 * x^544 + 0 * x^545 + 0 * x^546 + 0 * x^547 + 0 * x^548 + 0 * x^549 + 0 * x^550 + 0 * x^551 + 0 * x^552 + 0 * x^553 + 0 * x^554 + 0 * x^555 + 0 * x^556 + 0 * x^557 + 0 * x^558 + 0 * x^559 + 0 * x^560 + 0 * x^561 + 0 * x^562 + 0 * x^563 + 0 * x^564 + 0 * x^565 + 0 * x^566 + 0 * x^567 + 0 * x^568 + 0 * x^569 + 0 * x^570 + 0 * x^571 + 0 * x^572 + 0 * x^573 + 0 * x^574 + 0 * x^575 + 0 * x^576 + 0 * x^577 + 0 * x^578 + 0 * x^579 + 0 * x^580 + 0 * x^581 + 0 * x^582 + 0 * x^583 + 0 * x^584 + 0 * x^585 + 0 * x^586 + 0 * x^587 + 0 * x^588 + 0 * x^589 + 0 * x^590 + 0 * x^591 + 0 * x^592 + 0 * x^593 + 0 * x^594 + 0 * x^595 + 0 * x^596 + 0 * x^597 + 0 * x^598 + 0 * x^599 + 0 * x^600 + 0 * x^601 + 0 * x^602 + 0 * x^603 + 0 * x^604 + 0 * x^605 + 0 * x^606 + 0 * x^607 + 0 * x^608 + 0 * x^609 + 0 * x^610 + 0 * x^611 + 0 * x^612 + 0 * x^613 + 0 * x^614 + 0 * x^615 + 0 * x^616 + 0 * x^617 + 0 * x^618 + 0 * x^619 + 0 * x^620 + 0 * x^621 + 0 * x^622 + 0 * x^623 + 0 * x^624 + 0 * x^625 + 0 * x^626 + 0 * x^627 + 0 * x^628 + 0 * x^629 + 0 * x^630 + 0 * x^631 + 0 * x^632 + 0 * x^633 + 0 * x^634 + 0 * x^635 + 0 * x^636 + 0 * x^637 + 0 * x^638 + 0 * x^639 + 0 * x^640 + 0 * x^641 + 0 * x^642 + 0 * x^643 + 0 * x^644 + 0 * x^645 + 0 * x^646 + 0 * x^647 + 0 * x^648 + 0 * x^649 + 0 * x^650 + 0 * x^651 + 0 * x^652 + 0 * x^653 + 0 * x^654 + 0 * x^655 + 0 * x^656 + 0 * x^657 + 0 * x^658 + 0 * x^659 + 0 * x^660 + 0 * x^661 + 0 * x^662 + 0 * x^663 + 0 * x^664 + 0 * x^665 + 0 * x^666 + 0 * x^667 + 0 * x^668 + 0 * x^669 + 0 * x^670 + 0 * x^671 + 0 * x^672 + 0 * x^673 + 0 * x^674 + 0 * x^675 + 0 * x^676 + 0 * x^677 + 0 * x^678 + 0 * x^679 + 0 * x^680 + 0 * x^681 + 0 * x^682 + 0 * x^683 + 0 * x^684 + 0 * x^685 + 0 * x^686 + 0 * x^687 + 0 * x^688 + 0 * x^689 + 0 * x^690 + 0 * x^691 + 0 * x^692 + 0 * x^693 + 0 * x^694 + 0 * x^695 + 0 * x^696 + 0 * x^697 + 0 * x^698 + 0 * x^699 + 0 * x^700 + 0 * x^701 + 0 * x^702 + 0 * x^703 + 0 * x^704 + 0 * x^705 + 0 * x^706 + 0 * x^707 + 0 * x^708 + 0 * x^709 + 0 * x^710 + 0 * x^711 + 0 * x^712 + 0 * x^713 + 0 * x^714 + 0 * x^715 + 0 * x^716 + 0 * x^717 + 0 * x^718 + 0 * x^719 + 0 * x^720 + 0 * x^721 + 0 * x^722 + 0 * x^723 + 0 * x^724 + 0 * x^725 + 0 * x^726 + 0 * x^727 + 0 * x^728 + 0 * x^729 + 0 * x^730 + 0 * x^731 + 0 * x^732 + 0 * x^733 + 0 * x^734 + 0 * x^735 + 0 * x^736 + 0 * x^737 + 0 * x^738 + 0 * x^739 + 0 * x^740 + 0 * x^741 + 0 * x^742 + 0 * x^743 + 0 * x^744 + 0 * x^745 + 0 * x^746 + 0 * x^747 + 0 * x^748 + 0 * x^749 + 0 * x^750 + 0 * x^751 + 0 * x^752 + 0 * x^753 + 0 * x^754 + 0 * x^755 + 0 * x^756 + 0 * x^757 + 0 * x^758 + 0 * x^759 + 0 * x^760 + 0 * x^761 + 0 * x^762 + 0 * x^763 + 0 * x^764 + 0 * x^765 + 0 * x^766 + 0 * x^767 + 0 * x^768 + 0 * x^769 + 0 * x^770 + 0 * x^771 + 0 * x^772 + 0 * x^773 + 0 * x^774 + 0 * x^775 + 0 * x^776 + 0 * x^777 + 0 * x^778 + 0 * x^779 + 0 * x^780 + 0 * x^781 + 0 * x^782 + 0 * x^783 + 0 * x^784 + 0 * x^785 + 0 * x^786 + 0 * x^787 + 0 * x^788 + 0 * x^789 + 0 * x^790 + 0 * x^791 + 0 * x^792 + 0 * x^793 + 0 * x^794 + 0 * x^795 + 0 * x^796 + 0 * x^797 + 0 * x^798 + 0 * x^799 + 0 * x^800 + 0 * x^801 + 0 * x^802 + 0 * x^803 + 0 * x^804 + 0 * x^805 + 0 * x^806 + 0 * x^807 + 0 * x^808 + 0 * x^809 + 0 * x^810 + 0 * x^811 + 0 * x^812 + 0 * x^813 + 0 * x^814 + 0 * x^815 + 0 * x^816 + 0 * x^817 + 0 * x^818 + 0 * x^819 + 0 * x^820 + 0 * x^821 + 0 * x^822 + 0 * x^823 + 0 * x^824 + 0 * x^825 + 0 * x^826 + 0 * x^827 + 0 * x^828 + 0 * x^829 + 0 * x^830 + 0 * x^831 + 0 * x^832 + 0 * x^833 + 0 * x^834 + 0 * x^835 + 0 * x^836 + 0 * x^837 + 0 * x^838 + 0 * x^839 + 0 * x^840 + 0 * x^841 + 0 * x^842 + 0 * x^843 + 0 * x^844 + 0 * x^845 + 0 * x^846 + 0 * x^847 + 0 * x^848 + 0 * x^849 + 0 * x^850 + 0 * x^851 + 0 * x^852 + 0 * x^853 + 0 * x^854 + 0 * x^855 + 0 * x^856 + 0 * x^857 + 0 * x^858 + 0 * x^859 + 0 * x^860 + 0 * x^861 + 0 * x^862 + 0 * x^863 + 0 * x^864 + 0 * x^865 + 0 * x^866 + 0 * x^867 + 0 * x^868 + 0 * x^869 + 0 * x^870 + 0 * x^871 + 0 * x^872 + 0 * x^873 + 0 * x^874 + 0 * x^875 + 0 * x^876 + 0 * x^877 + 0 * x^878 + 0 * x^879 + 0 * x^880 + 0 * x^881 + 0 * x^882 + 0 * x^883 + 0 * x^884 + 0 * x^885 + 0 * x^886 + 0 * x^887 + 0 * x^888 + 0 * x^889 + 0 * x^890 + 0 * x^891 + 0 * x^892 + 0 * x^893 + 0 * x^894 + 0 * x^895 + 0 * x^896 + 0 * x^897 + 0 * x^898 + 0 * x^899 + 0 * x^900 + 0 * x^901 + 0 * x^902 + 0 * x^903 + 0 * x^904 + 0 * x^905 + 0 * x^906 + 0 * x^907 + 0 * x^908 + 0 * x^909 + 0 * x^910 + 0 * x^911 + 0 * x^912 + 0 * x^913 + 0 * x^914 + 0 * x^915 + 0 * x^916 + 0 * x^917 + 0 * x^918 + 0 * x^919 + 0 * x^920 + 0 * x^921 + 0 * x^922 + 0 * x^923 + 0 * x^924 + 0 * x^925 + 0 * x^926 + 0 * x^927 + 0 * x^928 + 0 * x^929 + 0 * x^930 + 0 * x^931 + 0 * x^932 + 0 * x^933 + 0 * x^934 + 0 * x^935 + 0 * x^936 + 0 * x^937 + 0 * x^938 + 0 * x^939 + 0 * x^940 + 0 * x^941 + 0 * x^942 + 0 * x^943 + 0 * x^944 + 0 * x^945 + 0 * x^946 + 0 * x^947 + 0 * x^948 + 0 * x^949 + 0 * x^950 + 0 * x^951 + 0 * x^952 + 0 * x^953 + 0 * x^954 + 0 * x^955 + 0 * x^956 + 0 * x^957 + 0 * x^958 + 0 * x^959 + 0 * x^960 + 0 * x^961 + 0 * x^962 + 0 * x^963 + 0 * x^964 + 0 * x^965 + 0 * x^966 + 0 * x^967 + 0 * x^968 + 0 * x^969 + 0 * x^970 + 0 * x^971 + 0 * x^972 + 0 * x^973 + 0 * x^974 + 0 * x^975 + 0 * x^976 + 0 * x^977 + 0 * x^978 + 0 * x^979 + 0 * x^980 + 0 * x^981 + 0 * x^982 + 0 * x^983 + 0 * x^984 + 0 * x^985 + 0 * x^986 + 0 * x^987 + 0 * x^988 + 0 * x^989 + 0 * x^990 + 0 * x^991 + 0 * x^992 + 0 * x^993 + 0 * x^994 + 0 * x^995 + 0 * x^996 + 0 * x^997 + 0 * x^998 + 0 * x^999 + 0 * x^1000 + 0 * x^1001 + 0 * x^1002 + 0 * x^1003 + 0 * x^1004 + 0 * x^1005 + 0 * x^1006 + 0 * x^1007 + 0 * x^1008 + 0 * x^1009 + 0 * x^1010 + 0 * x^1011 + 0 * x^1012 + 0 * x^1013 + 0 * x^1014 + 0 * x^1015 + 0 * x^1016 + 0 * x^1017 + 0 * x^1018 + 0 * x^1019 + 0 * x^1020 + 0 * x^1021 + 0 * x^1022 + 0 * x^1023 + 3 * x^1024 = 0 +"3X¹⁰²⁴ + 2X -7 = 0" "\ +Reduced form: -7 * X^0 + 2 * X^1 + 0 * X^2 + 0 * X^3 + 0 * X^4 + 0 * X^5 + 0 * X^6 + 0 * X^7 + 0 * X^8 + 0 * X^9 + 0 * X^10 + 0 * X^11 + 0 * X^12 + 0 * X^13 + 0 * X^14 + 0 * X^15 + 0 * X^16 + 0 * X^17 + 0 * X^18 + 0 * X^19 + 0 * X^20 + 0 * X^21 + 0 * X^22 + 0 * X^23 + 0 * X^24 + 0 * X^25 + 0 * X^26 + 0 * X^27 + 0 * X^28 + 0 * X^29 + 0 * X^30 + 0 * X^31 + 0 * X^32 + 0 * X^33 + 0 * X^34 + 0 * X^35 + 0 * X^36 + 0 * X^37 + 0 * X^38 + 0 * X^39 + 0 * X^40 + 0 * X^41 + 0 * X^42 + 0 * X^43 + 0 * X^44 + 0 * X^45 + 0 * X^46 + 0 * X^47 + 0 * X^48 + 0 * X^49 + 0 * X^50 + 0 * X^51 + 0 * X^52 + 0 * X^53 + 0 * X^54 + 0 * X^55 + 0 * X^56 + 0 * X^57 + 0 * X^58 + 0 * X^59 + 0 * X^60 + 0 * X^61 + 0 * X^62 + 0 * X^63 + 0 * X^64 + 0 * X^65 + 0 * X^66 + 0 * X^67 + 0 * X^68 + 0 * X^69 + 0 * X^70 + 0 * X^71 + 0 * X^72 + 0 * X^73 + 0 * X^74 + 0 * X^75 + 0 * X^76 + 0 * X^77 + 0 * X^78 + 0 * X^79 + 0 * X^80 + 0 * X^81 + 0 * X^82 + 0 * X^83 + 0 * X^84 + 0 * X^85 + 0 * X^86 + 0 * X^87 + 0 * X^88 + 0 * X^89 + 0 * X^90 + 0 * X^91 + 0 * X^92 + 0 * X^93 + 0 * X^94 + 0 * X^95 + 0 * X^96 + 0 * X^97 + 0 * X^98 + 0 * X^99 + 0 * X^100 + 0 * X^101 + 0 * X^102 + 0 * X^103 + 0 * X^104 + 0 * X^105 + 0 * X^106 + 0 * X^107 + 0 * X^108 + 0 * X^109 + 0 * X^110 + 0 * X^111 + 0 * X^112 + 0 * X^113 + 0 * X^114 + 0 * X^115 + 0 * X^116 + 0 * X^117 + 0 * X^118 + 0 * X^119 + 0 * X^120 + 0 * X^121 + 0 * X^122 + 0 * X^123 + 0 * X^124 + 0 * X^125 + 0 * X^126 + 0 * X^127 + 0 * X^128 + 0 * X^129 + 0 * X^130 + 0 * X^131 + 0 * X^132 + 0 * X^133 + 0 * X^134 + 0 * X^135 + 0 * X^136 + 0 * X^137 + 0 * X^138 + 0 * X^139 + 0 * X^140 + 0 * X^141 + 0 * X^142 + 0 * X^143 + 0 * X^144 + 0 * X^145 + 0 * X^146 + 0 * X^147 + 0 * X^148 + 0 * X^149 + 0 * X^150 + 0 * X^151 + 0 * X^152 + 0 * X^153 + 0 * X^154 + 0 * X^155 + 0 * X^156 + 0 * X^157 + 0 * X^158 + 0 * X^159 + 0 * X^160 + 0 * X^161 + 0 * X^162 + 0 * X^163 + 0 * X^164 + 0 * X^165 + 0 * X^166 + 0 * X^167 + 0 * X^168 + 0 * X^169 + 0 * X^170 + 0 * X^171 + 0 * X^172 + 0 * X^173 + 0 * X^174 + 0 * X^175 + 0 * X^176 + 0 * X^177 + 0 * X^178 + 0 * X^179 + 0 * X^180 + 0 * X^181 + 0 * X^182 + 0 * X^183 + 0 * X^184 + 0 * X^185 + 0 * X^186 + 0 * X^187 + 0 * X^188 + 0 * X^189 + 0 * X^190 + 0 * X^191 + 0 * X^192 + 0 * X^193 + 0 * X^194 + 0 * X^195 + 0 * X^196 + 0 * X^197 + 0 * X^198 + 0 * X^199 + 0 * X^200 + 0 * X^201 + 0 * X^202 + 0 * X^203 + 0 * X^204 + 0 * X^205 + 0 * X^206 + 0 * X^207 + 0 * X^208 + 0 * X^209 + 0 * X^210 + 0 * X^211 + 0 * X^212 + 0 * X^213 + 0 * X^214 + 0 * X^215 + 0 * X^216 + 0 * X^217 + 0 * X^218 + 0 * X^219 + 0 * X^220 + 0 * X^221 + 0 * X^222 + 0 * X^223 + 0 * X^224 + 0 * X^225 + 0 * X^226 + 0 * X^227 + 0 * X^228 + 0 * X^229 + 0 * X^230 + 0 * X^231 + 0 * X^232 + 0 * X^233 + 0 * X^234 + 0 * X^235 + 0 * X^236 + 0 * X^237 + 0 * X^238 + 0 * X^239 + 0 * X^240 + 0 * X^241 + 0 * X^242 + 0 * X^243 + 0 * X^244 + 0 * X^245 + 0 * X^246 + 0 * X^247 + 0 * X^248 + 0 * X^249 + 0 * X^250 + 0 * X^251 + 0 * X^252 + 0 * X^253 + 0 * X^254 + 0 * X^255 + 0 * X^256 + 0 * X^257 + 0 * X^258 + 0 * X^259 + 0 * X^260 + 0 * X^261 + 0 * X^262 + 0 * X^263 + 0 * X^264 + 0 * X^265 + 0 * X^266 + 0 * X^267 + 0 * X^268 + 0 * X^269 + 0 * X^270 + 0 * X^271 + 0 * X^272 + 0 * X^273 + 0 * X^274 + 0 * X^275 + 0 * X^276 + 0 * X^277 + 0 * X^278 + 0 * X^279 + 0 * X^280 + 0 * X^281 + 0 * X^282 + 0 * X^283 + 0 * X^284 + 0 * X^285 + 0 * X^286 + 0 * X^287 + 0 * X^288 + 0 * X^289 + 0 * X^290 + 0 * X^291 + 0 * X^292 + 0 * X^293 + 0 * X^294 + 0 * X^295 + 0 * X^296 + 0 * X^297 + 0 * X^298 + 0 * X^299 + 0 * X^300 + 0 * X^301 + 0 * X^302 + 0 * X^303 + 0 * X^304 + 0 * X^305 + 0 * X^306 + 0 * X^307 + 0 * X^308 + 0 * X^309 + 0 * X^310 + 0 * X^311 + 0 * X^312 + 0 * X^313 + 0 * X^314 + 0 * X^315 + 0 * X^316 + 0 * X^317 + 0 * X^318 + 0 * X^319 + 0 * X^320 + 0 * X^321 + 0 * X^322 + 0 * X^323 + 0 * X^324 + 0 * X^325 + 0 * X^326 + 0 * X^327 + 0 * X^328 + 0 * X^329 + 0 * X^330 + 0 * X^331 + 0 * X^332 + 0 * X^333 + 0 * X^334 + 0 * X^335 + 0 * X^336 + 0 * X^337 + 0 * X^338 + 0 * X^339 + 0 * X^340 + 0 * X^341 + 0 * X^342 + 0 * X^343 + 0 * X^344 + 0 * X^345 + 0 * X^346 + 0 * X^347 + 0 * X^348 + 0 * X^349 + 0 * X^350 + 0 * X^351 + 0 * X^352 + 0 * X^353 + 0 * X^354 + 0 * X^355 + 0 * X^356 + 0 * X^357 + 0 * X^358 + 0 * X^359 + 0 * X^360 + 0 * X^361 + 0 * X^362 + 0 * X^363 + 0 * X^364 + 0 * X^365 + 0 * X^366 + 0 * X^367 + 0 * X^368 + 0 * X^369 + 0 * X^370 + 0 * X^371 + 0 * X^372 + 0 * X^373 + 0 * X^374 + 0 * X^375 + 0 * X^376 + 0 * X^377 + 0 * X^378 + 0 * X^379 + 0 * X^380 + 0 * X^381 + 0 * X^382 + 0 * X^383 + 0 * X^384 + 0 * X^385 + 0 * X^386 + 0 * X^387 + 0 * X^388 + 0 * X^389 + 0 * X^390 + 0 * X^391 + 0 * X^392 + 0 * X^393 + 0 * X^394 + 0 * X^395 + 0 * X^396 + 0 * X^397 + 0 * X^398 + 0 * X^399 + 0 * X^400 + 0 * X^401 + 0 * X^402 + 0 * X^403 + 0 * X^404 + 0 * X^405 + 0 * X^406 + 0 * X^407 + 0 * X^408 + 0 * X^409 + 0 * X^410 + 0 * X^411 + 0 * X^412 + 0 * X^413 + 0 * X^414 + 0 * X^415 + 0 * X^416 + 0 * X^417 + 0 * X^418 + 0 * X^419 + 0 * X^420 + 0 * X^421 + 0 * X^422 + 0 * X^423 + 0 * X^424 + 0 * X^425 + 0 * X^426 + 0 * X^427 + 0 * X^428 + 0 * X^429 + 0 * X^430 + 0 * X^431 + 0 * X^432 + 0 * X^433 + 0 * X^434 + 0 * X^435 + 0 * X^436 + 0 * X^437 + 0 * X^438 + 0 * X^439 + 0 * X^440 + 0 * X^441 + 0 * X^442 + 0 * X^443 + 0 * X^444 + 0 * X^445 + 0 * X^446 + 0 * X^447 + 0 * X^448 + 0 * X^449 + 0 * X^450 + 0 * X^451 + 0 * X^452 + 0 * X^453 + 0 * X^454 + 0 * X^455 + 0 * X^456 + 0 * X^457 + 0 * X^458 + 0 * X^459 + 0 * X^460 + 0 * X^461 + 0 * X^462 + 0 * X^463 + 0 * X^464 + 0 * X^465 + 0 * X^466 + 0 * X^467 + 0 * X^468 + 0 * X^469 + 0 * X^470 + 0 * X^471 + 0 * X^472 + 0 * X^473 + 0 * X^474 + 0 * X^475 + 0 * X^476 + 0 * X^477 + 0 * X^478 + 0 * X^479 + 0 * X^480 + 0 * X^481 + 0 * X^482 + 0 * X^483 + 0 * X^484 + 0 * X^485 + 0 * X^486 + 0 * X^487 + 0 * X^488 + 0 * X^489 + 0 * X^490 + 0 * X^491 + 0 * X^492 + 0 * X^493 + 0 * X^494 + 0 * X^495 + 0 * X^496 + 0 * X^497 + 0 * X^498 + 0 * X^499 + 0 * X^500 + 0 * X^501 + 0 * X^502 + 0 * X^503 + 0 * X^504 + 0 * X^505 + 0 * X^506 + 0 * X^507 + 0 * X^508 + 0 * X^509 + 0 * X^510 + 0 * X^511 + 0 * X^512 + 0 * X^513 + 0 * X^514 + 0 * X^515 + 0 * X^516 + 0 * X^517 + 0 * X^518 + 0 * X^519 + 0 * X^520 + 0 * X^521 + 0 * X^522 + 0 * X^523 + 0 * X^524 + 0 * X^525 + 0 * X^526 + 0 * X^527 + 0 * X^528 + 0 * X^529 + 0 * X^530 + 0 * X^531 + 0 * X^532 + 0 * X^533 + 0 * X^534 + 0 * X^535 + 0 * X^536 + 0 * X^537 + 0 * X^538 + 0 * X^539 + 0 * X^540 + 0 * X^541 + 0 * X^542 + 0 * X^543 + 0 * X^544 + 0 * X^545 + 0 * X^546 + 0 * X^547 + 0 * X^548 + 0 * X^549 + 0 * X^550 + 0 * X^551 + 0 * X^552 + 0 * X^553 + 0 * X^554 + 0 * X^555 + 0 * X^556 + 0 * X^557 + 0 * X^558 + 0 * X^559 + 0 * X^560 + 0 * X^561 + 0 * X^562 + 0 * X^563 + 0 * X^564 + 0 * X^565 + 0 * X^566 + 0 * X^567 + 0 * X^568 + 0 * X^569 + 0 * X^570 + 0 * X^571 + 0 * X^572 + 0 * X^573 + 0 * X^574 + 0 * X^575 + 0 * X^576 + 0 * X^577 + 0 * X^578 + 0 * X^579 + 0 * X^580 + 0 * X^581 + 0 * X^582 + 0 * X^583 + 0 * X^584 + 0 * X^585 + 0 * X^586 + 0 * X^587 + 0 * X^588 + 0 * X^589 + 0 * X^590 + 0 * X^591 + 0 * X^592 + 0 * X^593 + 0 * X^594 + 0 * X^595 + 0 * X^596 + 0 * X^597 + 0 * X^598 + 0 * X^599 + 0 * X^600 + 0 * X^601 + 0 * X^602 + 0 * X^603 + 0 * X^604 + 0 * X^605 + 0 * X^606 + 0 * X^607 + 0 * X^608 + 0 * X^609 + 0 * X^610 + 0 * X^611 + 0 * X^612 + 0 * X^613 + 0 * X^614 + 0 * X^615 + 0 * X^616 + 0 * X^617 + 0 * X^618 + 0 * X^619 + 0 * X^620 + 0 * X^621 + 0 * X^622 + 0 * X^623 + 0 * X^624 + 0 * X^625 + 0 * X^626 + 0 * X^627 + 0 * X^628 + 0 * X^629 + 0 * X^630 + 0 * X^631 + 0 * X^632 + 0 * X^633 + 0 * X^634 + 0 * X^635 + 0 * X^636 + 0 * X^637 + 0 * X^638 + 0 * X^639 + 0 * X^640 + 0 * X^641 + 0 * X^642 + 0 * X^643 + 0 * X^644 + 0 * X^645 + 0 * X^646 + 0 * X^647 + 0 * X^648 + 0 * X^649 + 0 * X^650 + 0 * X^651 + 0 * X^652 + 0 * X^653 + 0 * X^654 + 0 * X^655 + 0 * X^656 + 0 * X^657 + 0 * X^658 + 0 * X^659 + 0 * X^660 + 0 * X^661 + 0 * X^662 + 0 * X^663 + 0 * X^664 + 0 * X^665 + 0 * X^666 + 0 * X^667 + 0 * X^668 + 0 * X^669 + 0 * X^670 + 0 * X^671 + 0 * X^672 + 0 * X^673 + 0 * X^674 + 0 * X^675 + 0 * X^676 + 0 * X^677 + 0 * X^678 + 0 * X^679 + 0 * X^680 + 0 * X^681 + 0 * X^682 + 0 * X^683 + 0 * X^684 + 0 * X^685 + 0 * X^686 + 0 * X^687 + 0 * X^688 + 0 * X^689 + 0 * X^690 + 0 * X^691 + 0 * X^692 + 0 * X^693 + 0 * X^694 + 0 * X^695 + 0 * X^696 + 0 * X^697 + 0 * X^698 + 0 * X^699 + 0 * X^700 + 0 * X^701 + 0 * X^702 + 0 * X^703 + 0 * X^704 + 0 * X^705 + 0 * X^706 + 0 * X^707 + 0 * X^708 + 0 * X^709 + 0 * X^710 + 0 * X^711 + 0 * X^712 + 0 * X^713 + 0 * X^714 + 0 * X^715 + 0 * X^716 + 0 * X^717 + 0 * X^718 + 0 * X^719 + 0 * X^720 + 0 * X^721 + 0 * X^722 + 0 * X^723 + 0 * X^724 + 0 * X^725 + 0 * X^726 + 0 * X^727 + 0 * X^728 + 0 * X^729 + 0 * X^730 + 0 * X^731 + 0 * X^732 + 0 * X^733 + 0 * X^734 + 0 * X^735 + 0 * X^736 + 0 * X^737 + 0 * X^738 + 0 * X^739 + 0 * X^740 + 0 * X^741 + 0 * X^742 + 0 * X^743 + 0 * X^744 + 0 * X^745 + 0 * X^746 + 0 * X^747 + 0 * X^748 + 0 * X^749 + 0 * X^750 + 0 * X^751 + 0 * X^752 + 0 * X^753 + 0 * X^754 + 0 * X^755 + 0 * X^756 + 0 * X^757 + 0 * X^758 + 0 * X^759 + 0 * X^760 + 0 * X^761 + 0 * X^762 + 0 * X^763 + 0 * X^764 + 0 * X^765 + 0 * X^766 + 0 * X^767 + 0 * X^768 + 0 * X^769 + 0 * X^770 + 0 * X^771 + 0 * X^772 + 0 * X^773 + 0 * X^774 + 0 * X^775 + 0 * X^776 + 0 * X^777 + 0 * X^778 + 0 * X^779 + 0 * X^780 + 0 * X^781 + 0 * X^782 + 0 * X^783 + 0 * X^784 + 0 * X^785 + 0 * X^786 + 0 * X^787 + 0 * X^788 + 0 * X^789 + 0 * X^790 + 0 * X^791 + 0 * X^792 + 0 * X^793 + 0 * X^794 + 0 * X^795 + 0 * X^796 + 0 * X^797 + 0 * X^798 + 0 * X^799 + 0 * X^800 + 0 * X^801 + 0 * X^802 + 0 * X^803 + 0 * X^804 + 0 * X^805 + 0 * X^806 + 0 * X^807 + 0 * X^808 + 0 * X^809 + 0 * X^810 + 0 * X^811 + 0 * X^812 + 0 * X^813 + 0 * X^814 + 0 * X^815 + 0 * X^816 + 0 * X^817 + 0 * X^818 + 0 * X^819 + 0 * X^820 + 0 * X^821 + 0 * X^822 + 0 * X^823 + 0 * X^824 + 0 * X^825 + 0 * X^826 + 0 * X^827 + 0 * X^828 + 0 * X^829 + 0 * X^830 + 0 * X^831 + 0 * X^832 + 0 * X^833 + 0 * X^834 + 0 * X^835 + 0 * X^836 + 0 * X^837 + 0 * X^838 + 0 * X^839 + 0 * X^840 + 0 * X^841 + 0 * X^842 + 0 * X^843 + 0 * X^844 + 0 * X^845 + 0 * X^846 + 0 * X^847 + 0 * X^848 + 0 * X^849 + 0 * X^850 + 0 * X^851 + 0 * X^852 + 0 * X^853 + 0 * X^854 + 0 * X^855 + 0 * X^856 + 0 * X^857 + 0 * X^858 + 0 * X^859 + 0 * X^860 + 0 * X^861 + 0 * X^862 + 0 * X^863 + 0 * X^864 + 0 * X^865 + 0 * X^866 + 0 * X^867 + 0 * X^868 + 0 * X^869 + 0 * X^870 + 0 * X^871 + 0 * X^872 + 0 * X^873 + 0 * X^874 + 0 * X^875 + 0 * X^876 + 0 * X^877 + 0 * X^878 + 0 * X^879 + 0 * X^880 + 0 * X^881 + 0 * X^882 + 0 * X^883 + 0 * X^884 + 0 * X^885 + 0 * X^886 + 0 * X^887 + 0 * X^888 + 0 * X^889 + 0 * X^890 + 0 * X^891 + 0 * X^892 + 0 * X^893 + 0 * X^894 + 0 * X^895 + 0 * X^896 + 0 * X^897 + 0 * X^898 + 0 * X^899 + 0 * X^900 + 0 * X^901 + 0 * X^902 + 0 * X^903 + 0 * X^904 + 0 * X^905 + 0 * X^906 + 0 * X^907 + 0 * X^908 + 0 * X^909 + 0 * X^910 + 0 * X^911 + 0 * X^912 + 0 * X^913 + 0 * X^914 + 0 * X^915 + 0 * X^916 + 0 * X^917 + 0 * X^918 + 0 * X^919 + 0 * X^920 + 0 * X^921 + 0 * X^922 + 0 * X^923 + 0 * X^924 + 0 * X^925 + 0 * X^926 + 0 * X^927 + 0 * X^928 + 0 * X^929 + 0 * X^930 + 0 * X^931 + 0 * X^932 + 0 * X^933 + 0 * X^934 + 0 * X^935 + 0 * X^936 + 0 * X^937 + 0 * X^938 + 0 * X^939 + 0 * X^940 + 0 * X^941 + 0 * X^942 + 0 * X^943 + 0 * X^944 + 0 * X^945 + 0 * X^946 + 0 * X^947 + 0 * X^948 + 0 * X^949 + 0 * X^950 + 0 * X^951 + 0 * X^952 + 0 * X^953 + 0 * X^954 + 0 * X^955 + 0 * X^956 + 0 * X^957 + 0 * X^958 + 0 * X^959 + 0 * X^960 + 0 * X^961 + 0 * X^962 + 0 * X^963 + 0 * X^964 + 0 * X^965 + 0 * X^966 + 0 * X^967 + 0 * X^968 + 0 * X^969 + 0 * X^970 + 0 * X^971 + 0 * X^972 + 0 * X^973 + 0 * X^974 + 0 * X^975 + 0 * X^976 + 0 * X^977 + 0 * X^978 + 0 * X^979 + 0 * X^980 + 0 * X^981 + 0 * X^982 + 0 * X^983 + 0 * X^984 + 0 * X^985 + 0 * X^986 + 0 * X^987 + 0 * X^988 + 0 * X^989 + 0 * X^990 + 0 * X^991 + 0 * X^992 + 0 * X^993 + 0 * X^994 + 0 * X^995 + 0 * X^996 + 0 * X^997 + 0 * X^998 + 0 * X^999 + 0 * X^1000 + 0 * X^1001 + 0 * X^1002 + 0 * X^1003 + 0 * X^1004 + 0 * X^1005 + 0 * X^1006 + 0 * X^1007 + 0 * X^1008 + 0 * X^1009 + 0 * X^1010 + 0 * X^1011 + 0 * X^1012 + 0 * X^1013 + 0 * X^1014 + 0 * X^1015 + 0 * X^1016 + 0 * X^1017 + 0 * X^1018 + 0 * X^1019 + 0 * X^1020 + 0 * X^1021 + 0 * X^1022 + 0 * X^1023 + 3 * X^1024 = 0 Polynomial degree: 1024 The polynomial degree is strictly greater than 2, I can't solve." run_test \ "39. degree 2 big enough in digits" \ -"3x^1024 + 2x -7 = 0" "\ -Reduced form: -7 * x^0 + 2 * x^1 + 0 * x^2 + 0 * x^3 + 0 * x^4 + 0 * x^5 + 0 * x^6 + 0 * x^7 + 0 * x^8 + 0 * x^9 + 0 * x^10 + 0 * x^11 + 0 * x^12 + 0 * x^13 + 0 * x^14 + 0 * x^15 + 0 * x^16 + 0 * x^17 + 0 * x^18 + 0 * x^19 + 0 * x^20 + 0 * x^21 + 0 * x^22 + 0 * x^23 + 0 * x^24 + 0 * x^25 + 0 * x^26 + 0 * x^27 + 0 * x^28 + 0 * x^29 + 0 * x^30 + 0 * x^31 + 0 * x^32 + 0 * x^33 + 0 * x^34 + 0 * x^35 + 0 * x^36 + 0 * x^37 + 0 * x^38 + 0 * x^39 + 0 * x^40 + 0 * x^41 + 0 * x^42 + 0 * x^43 + 0 * x^44 + 0 * x^45 + 0 * x^46 + 0 * x^47 + 0 * x^48 + 0 * x^49 + 0 * x^50 + 0 * x^51 + 0 * x^52 + 0 * x^53 + 0 * x^54 + 0 * x^55 + 0 * x^56 + 0 * x^57 + 0 * x^58 + 0 * x^59 + 0 * x^60 + 0 * x^61 + 0 * x^62 + 0 * x^63 + 0 * x^64 + 0 * x^65 + 0 * x^66 + 0 * x^67 + 0 * x^68 + 0 * x^69 + 0 * x^70 + 0 * x^71 + 0 * x^72 + 0 * x^73 + 0 * x^74 + 0 * x^75 + 0 * x^76 + 0 * x^77 + 0 * x^78 + 0 * x^79 + 0 * x^80 + 0 * x^81 + 0 * x^82 + 0 * x^83 + 0 * x^84 + 0 * x^85 + 0 * x^86 + 0 * x^87 + 0 * x^88 + 0 * x^89 + 0 * x^90 + 0 * x^91 + 0 * x^92 + 0 * x^93 + 0 * x^94 + 0 * x^95 + 0 * x^96 + 0 * x^97 + 0 * x^98 + 0 * x^99 + 0 * x^100 + 0 * x^101 + 0 * x^102 + 0 * x^103 + 0 * x^104 + 0 * x^105 + 0 * x^106 + 0 * x^107 + 0 * x^108 + 0 * x^109 + 0 * x^110 + 0 * x^111 + 0 * x^112 + 0 * x^113 + 0 * x^114 + 0 * x^115 + 0 * x^116 + 0 * x^117 + 0 * x^118 + 0 * x^119 + 0 * x^120 + 0 * x^121 + 0 * x^122 + 0 * x^123 + 0 * x^124 + 0 * x^125 + 0 * x^126 + 0 * x^127 + 0 * x^128 + 0 * x^129 + 0 * x^130 + 0 * x^131 + 0 * x^132 + 0 * x^133 + 0 * x^134 + 0 * x^135 + 0 * x^136 + 0 * x^137 + 0 * x^138 + 0 * x^139 + 0 * x^140 + 0 * x^141 + 0 * x^142 + 0 * x^143 + 0 * x^144 + 0 * x^145 + 0 * x^146 + 0 * x^147 + 0 * x^148 + 0 * x^149 + 0 * x^150 + 0 * x^151 + 0 * x^152 + 0 * x^153 + 0 * x^154 + 0 * x^155 + 0 * x^156 + 0 * x^157 + 0 * x^158 + 0 * x^159 + 0 * x^160 + 0 * x^161 + 0 * x^162 + 0 * x^163 + 0 * x^164 + 0 * x^165 + 0 * x^166 + 0 * x^167 + 0 * x^168 + 0 * x^169 + 0 * x^170 + 0 * x^171 + 0 * x^172 + 0 * x^173 + 0 * x^174 + 0 * x^175 + 0 * x^176 + 0 * x^177 + 0 * x^178 + 0 * x^179 + 0 * x^180 + 0 * x^181 + 0 * x^182 + 0 * x^183 + 0 * x^184 + 0 * x^185 + 0 * x^186 + 0 * x^187 + 0 * x^188 + 0 * x^189 + 0 * x^190 + 0 * x^191 + 0 * x^192 + 0 * x^193 + 0 * x^194 + 0 * x^195 + 0 * x^196 + 0 * x^197 + 0 * x^198 + 0 * x^199 + 0 * x^200 + 0 * x^201 + 0 * x^202 + 0 * x^203 + 0 * x^204 + 0 * x^205 + 0 * x^206 + 0 * x^207 + 0 * x^208 + 0 * x^209 + 0 * x^210 + 0 * x^211 + 0 * x^212 + 0 * x^213 + 0 * x^214 + 0 * x^215 + 0 * x^216 + 0 * x^217 + 0 * x^218 + 0 * x^219 + 0 * x^220 + 0 * x^221 + 0 * x^222 + 0 * x^223 + 0 * x^224 + 0 * x^225 + 0 * x^226 + 0 * x^227 + 0 * x^228 + 0 * x^229 + 0 * x^230 + 0 * x^231 + 0 * x^232 + 0 * x^233 + 0 * x^234 + 0 * x^235 + 0 * x^236 + 0 * x^237 + 0 * x^238 + 0 * x^239 + 0 * x^240 + 0 * x^241 + 0 * x^242 + 0 * x^243 + 0 * x^244 + 0 * x^245 + 0 * x^246 + 0 * x^247 + 0 * x^248 + 0 * x^249 + 0 * x^250 + 0 * x^251 + 0 * x^252 + 0 * x^253 + 0 * x^254 + 0 * x^255 + 0 * x^256 + 0 * x^257 + 0 * x^258 + 0 * x^259 + 0 * x^260 + 0 * x^261 + 0 * x^262 + 0 * x^263 + 0 * x^264 + 0 * x^265 + 0 * x^266 + 0 * x^267 + 0 * x^268 + 0 * x^269 + 0 * x^270 + 0 * x^271 + 0 * x^272 + 0 * x^273 + 0 * x^274 + 0 * x^275 + 0 * x^276 + 0 * x^277 + 0 * x^278 + 0 * x^279 + 0 * x^280 + 0 * x^281 + 0 * x^282 + 0 * x^283 + 0 * x^284 + 0 * x^285 + 0 * x^286 + 0 * x^287 + 0 * x^288 + 0 * x^289 + 0 * x^290 + 0 * x^291 + 0 * x^292 + 0 * x^293 + 0 * x^294 + 0 * x^295 + 0 * x^296 + 0 * x^297 + 0 * x^298 + 0 * x^299 + 0 * x^300 + 0 * x^301 + 0 * x^302 + 0 * x^303 + 0 * x^304 + 0 * x^305 + 0 * x^306 + 0 * x^307 + 0 * x^308 + 0 * x^309 + 0 * x^310 + 0 * x^311 + 0 * x^312 + 0 * x^313 + 0 * x^314 + 0 * x^315 + 0 * x^316 + 0 * x^317 + 0 * x^318 + 0 * x^319 + 0 * x^320 + 0 * x^321 + 0 * x^322 + 0 * x^323 + 0 * x^324 + 0 * x^325 + 0 * x^326 + 0 * x^327 + 0 * x^328 + 0 * x^329 + 0 * x^330 + 0 * x^331 + 0 * x^332 + 0 * x^333 + 0 * x^334 + 0 * x^335 + 0 * x^336 + 0 * x^337 + 0 * x^338 + 0 * x^339 + 0 * x^340 + 0 * x^341 + 0 * x^342 + 0 * x^343 + 0 * x^344 + 0 * x^345 + 0 * x^346 + 0 * x^347 + 0 * x^348 + 0 * x^349 + 0 * x^350 + 0 * x^351 + 0 * x^352 + 0 * x^353 + 0 * x^354 + 0 * x^355 + 0 * x^356 + 0 * x^357 + 0 * x^358 + 0 * x^359 + 0 * x^360 + 0 * x^361 + 0 * x^362 + 0 * x^363 + 0 * x^364 + 0 * x^365 + 0 * x^366 + 0 * x^367 + 0 * x^368 + 0 * x^369 + 0 * x^370 + 0 * x^371 + 0 * x^372 + 0 * x^373 + 0 * x^374 + 0 * x^375 + 0 * x^376 + 0 * x^377 + 0 * x^378 + 0 * x^379 + 0 * x^380 + 0 * x^381 + 0 * x^382 + 0 * x^383 + 0 * x^384 + 0 * x^385 + 0 * x^386 + 0 * x^387 + 0 * x^388 + 0 * x^389 + 0 * x^390 + 0 * x^391 + 0 * x^392 + 0 * x^393 + 0 * x^394 + 0 * x^395 + 0 * x^396 + 0 * x^397 + 0 * x^398 + 0 * x^399 + 0 * x^400 + 0 * x^401 + 0 * x^402 + 0 * x^403 + 0 * x^404 + 0 * x^405 + 0 * x^406 + 0 * x^407 + 0 * x^408 + 0 * x^409 + 0 * x^410 + 0 * x^411 + 0 * x^412 + 0 * x^413 + 0 * x^414 + 0 * x^415 + 0 * x^416 + 0 * x^417 + 0 * x^418 + 0 * x^419 + 0 * x^420 + 0 * x^421 + 0 * x^422 + 0 * x^423 + 0 * x^424 + 0 * x^425 + 0 * x^426 + 0 * x^427 + 0 * x^428 + 0 * x^429 + 0 * x^430 + 0 * x^431 + 0 * x^432 + 0 * x^433 + 0 * x^434 + 0 * x^435 + 0 * x^436 + 0 * x^437 + 0 * x^438 + 0 * x^439 + 0 * x^440 + 0 * x^441 + 0 * x^442 + 0 * x^443 + 0 * x^444 + 0 * x^445 + 0 * x^446 + 0 * x^447 + 0 * x^448 + 0 * x^449 + 0 * x^450 + 0 * x^451 + 0 * x^452 + 0 * x^453 + 0 * x^454 + 0 * x^455 + 0 * x^456 + 0 * x^457 + 0 * x^458 + 0 * x^459 + 0 * x^460 + 0 * x^461 + 0 * x^462 + 0 * x^463 + 0 * x^464 + 0 * x^465 + 0 * x^466 + 0 * x^467 + 0 * x^468 + 0 * x^469 + 0 * x^470 + 0 * x^471 + 0 * x^472 + 0 * x^473 + 0 * x^474 + 0 * x^475 + 0 * x^476 + 0 * x^477 + 0 * x^478 + 0 * x^479 + 0 * x^480 + 0 * x^481 + 0 * x^482 + 0 * x^483 + 0 * x^484 + 0 * x^485 + 0 * x^486 + 0 * x^487 + 0 * x^488 + 0 * x^489 + 0 * x^490 + 0 * x^491 + 0 * x^492 + 0 * x^493 + 0 * x^494 + 0 * x^495 + 0 * x^496 + 0 * x^497 + 0 * x^498 + 0 * x^499 + 0 * x^500 + 0 * x^501 + 0 * x^502 + 0 * x^503 + 0 * x^504 + 0 * x^505 + 0 * x^506 + 0 * x^507 + 0 * x^508 + 0 * x^509 + 0 * x^510 + 0 * x^511 + 0 * x^512 + 0 * x^513 + 0 * x^514 + 0 * x^515 + 0 * x^516 + 0 * x^517 + 0 * x^518 + 0 * x^519 + 0 * x^520 + 0 * x^521 + 0 * x^522 + 0 * x^523 + 0 * x^524 + 0 * x^525 + 0 * x^526 + 0 * x^527 + 0 * x^528 + 0 * x^529 + 0 * x^530 + 0 * x^531 + 0 * x^532 + 0 * x^533 + 0 * x^534 + 0 * x^535 + 0 * x^536 + 0 * x^537 + 0 * x^538 + 0 * x^539 + 0 * x^540 + 0 * x^541 + 0 * x^542 + 0 * x^543 + 0 * x^544 + 0 * x^545 + 0 * x^546 + 0 * x^547 + 0 * x^548 + 0 * x^549 + 0 * x^550 + 0 * x^551 + 0 * x^552 + 0 * x^553 + 0 * x^554 + 0 * x^555 + 0 * x^556 + 0 * x^557 + 0 * x^558 + 0 * x^559 + 0 * x^560 + 0 * x^561 + 0 * x^562 + 0 * x^563 + 0 * x^564 + 0 * x^565 + 0 * x^566 + 0 * x^567 + 0 * x^568 + 0 * x^569 + 0 * x^570 + 0 * x^571 + 0 * x^572 + 0 * x^573 + 0 * x^574 + 0 * x^575 + 0 * x^576 + 0 * x^577 + 0 * x^578 + 0 * x^579 + 0 * x^580 + 0 * x^581 + 0 * x^582 + 0 * x^583 + 0 * x^584 + 0 * x^585 + 0 * x^586 + 0 * x^587 + 0 * x^588 + 0 * x^589 + 0 * x^590 + 0 * x^591 + 0 * x^592 + 0 * x^593 + 0 * x^594 + 0 * x^595 + 0 * x^596 + 0 * x^597 + 0 * x^598 + 0 * x^599 + 0 * x^600 + 0 * x^601 + 0 * x^602 + 0 * x^603 + 0 * x^604 + 0 * x^605 + 0 * x^606 + 0 * x^607 + 0 * x^608 + 0 * x^609 + 0 * x^610 + 0 * x^611 + 0 * x^612 + 0 * x^613 + 0 * x^614 + 0 * x^615 + 0 * x^616 + 0 * x^617 + 0 * x^618 + 0 * x^619 + 0 * x^620 + 0 * x^621 + 0 * x^622 + 0 * x^623 + 0 * x^624 + 0 * x^625 + 0 * x^626 + 0 * x^627 + 0 * x^628 + 0 * x^629 + 0 * x^630 + 0 * x^631 + 0 * x^632 + 0 * x^633 + 0 * x^634 + 0 * x^635 + 0 * x^636 + 0 * x^637 + 0 * x^638 + 0 * x^639 + 0 * x^640 + 0 * x^641 + 0 * x^642 + 0 * x^643 + 0 * x^644 + 0 * x^645 + 0 * x^646 + 0 * x^647 + 0 * x^648 + 0 * x^649 + 0 * x^650 + 0 * x^651 + 0 * x^652 + 0 * x^653 + 0 * x^654 + 0 * x^655 + 0 * x^656 + 0 * x^657 + 0 * x^658 + 0 * x^659 + 0 * x^660 + 0 * x^661 + 0 * x^662 + 0 * x^663 + 0 * x^664 + 0 * x^665 + 0 * x^666 + 0 * x^667 + 0 * x^668 + 0 * x^669 + 0 * x^670 + 0 * x^671 + 0 * x^672 + 0 * x^673 + 0 * x^674 + 0 * x^675 + 0 * x^676 + 0 * x^677 + 0 * x^678 + 0 * x^679 + 0 * x^680 + 0 * x^681 + 0 * x^682 + 0 * x^683 + 0 * x^684 + 0 * x^685 + 0 * x^686 + 0 * x^687 + 0 * x^688 + 0 * x^689 + 0 * x^690 + 0 * x^691 + 0 * x^692 + 0 * x^693 + 0 * x^694 + 0 * x^695 + 0 * x^696 + 0 * x^697 + 0 * x^698 + 0 * x^699 + 0 * x^700 + 0 * x^701 + 0 * x^702 + 0 * x^703 + 0 * x^704 + 0 * x^705 + 0 * x^706 + 0 * x^707 + 0 * x^708 + 0 * x^709 + 0 * x^710 + 0 * x^711 + 0 * x^712 + 0 * x^713 + 0 * x^714 + 0 * x^715 + 0 * x^716 + 0 * x^717 + 0 * x^718 + 0 * x^719 + 0 * x^720 + 0 * x^721 + 0 * x^722 + 0 * x^723 + 0 * x^724 + 0 * x^725 + 0 * x^726 + 0 * x^727 + 0 * x^728 + 0 * x^729 + 0 * x^730 + 0 * x^731 + 0 * x^732 + 0 * x^733 + 0 * x^734 + 0 * x^735 + 0 * x^736 + 0 * x^737 + 0 * x^738 + 0 * x^739 + 0 * x^740 + 0 * x^741 + 0 * x^742 + 0 * x^743 + 0 * x^744 + 0 * x^745 + 0 * x^746 + 0 * x^747 + 0 * x^748 + 0 * x^749 + 0 * x^750 + 0 * x^751 + 0 * x^752 + 0 * x^753 + 0 * x^754 + 0 * x^755 + 0 * x^756 + 0 * x^757 + 0 * x^758 + 0 * x^759 + 0 * x^760 + 0 * x^761 + 0 * x^762 + 0 * x^763 + 0 * x^764 + 0 * x^765 + 0 * x^766 + 0 * x^767 + 0 * x^768 + 0 * x^769 + 0 * x^770 + 0 * x^771 + 0 * x^772 + 0 * x^773 + 0 * x^774 + 0 * x^775 + 0 * x^776 + 0 * x^777 + 0 * x^778 + 0 * x^779 + 0 * x^780 + 0 * x^781 + 0 * x^782 + 0 * x^783 + 0 * x^784 + 0 * x^785 + 0 * x^786 + 0 * x^787 + 0 * x^788 + 0 * x^789 + 0 * x^790 + 0 * x^791 + 0 * x^792 + 0 * x^793 + 0 * x^794 + 0 * x^795 + 0 * x^796 + 0 * x^797 + 0 * x^798 + 0 * x^799 + 0 * x^800 + 0 * x^801 + 0 * x^802 + 0 * x^803 + 0 * x^804 + 0 * x^805 + 0 * x^806 + 0 * x^807 + 0 * x^808 + 0 * x^809 + 0 * x^810 + 0 * x^811 + 0 * x^812 + 0 * x^813 + 0 * x^814 + 0 * x^815 + 0 * x^816 + 0 * x^817 + 0 * x^818 + 0 * x^819 + 0 * x^820 + 0 * x^821 + 0 * x^822 + 0 * x^823 + 0 * x^824 + 0 * x^825 + 0 * x^826 + 0 * x^827 + 0 * x^828 + 0 * x^829 + 0 * x^830 + 0 * x^831 + 0 * x^832 + 0 * x^833 + 0 * x^834 + 0 * x^835 + 0 * x^836 + 0 * x^837 + 0 * x^838 + 0 * x^839 + 0 * x^840 + 0 * x^841 + 0 * x^842 + 0 * x^843 + 0 * x^844 + 0 * x^845 + 0 * x^846 + 0 * x^847 + 0 * x^848 + 0 * x^849 + 0 * x^850 + 0 * x^851 + 0 * x^852 + 0 * x^853 + 0 * x^854 + 0 * x^855 + 0 * x^856 + 0 * x^857 + 0 * x^858 + 0 * x^859 + 0 * x^860 + 0 * x^861 + 0 * x^862 + 0 * x^863 + 0 * x^864 + 0 * x^865 + 0 * x^866 + 0 * x^867 + 0 * x^868 + 0 * x^869 + 0 * x^870 + 0 * x^871 + 0 * x^872 + 0 * x^873 + 0 * x^874 + 0 * x^875 + 0 * x^876 + 0 * x^877 + 0 * x^878 + 0 * x^879 + 0 * x^880 + 0 * x^881 + 0 * x^882 + 0 * x^883 + 0 * x^884 + 0 * x^885 + 0 * x^886 + 0 * x^887 + 0 * x^888 + 0 * x^889 + 0 * x^890 + 0 * x^891 + 0 * x^892 + 0 * x^893 + 0 * x^894 + 0 * x^895 + 0 * x^896 + 0 * x^897 + 0 * x^898 + 0 * x^899 + 0 * x^900 + 0 * x^901 + 0 * x^902 + 0 * x^903 + 0 * x^904 + 0 * x^905 + 0 * x^906 + 0 * x^907 + 0 * x^908 + 0 * x^909 + 0 * x^910 + 0 * x^911 + 0 * x^912 + 0 * x^913 + 0 * x^914 + 0 * x^915 + 0 * x^916 + 0 * x^917 + 0 * x^918 + 0 * x^919 + 0 * x^920 + 0 * x^921 + 0 * x^922 + 0 * x^923 + 0 * x^924 + 0 * x^925 + 0 * x^926 + 0 * x^927 + 0 * x^928 + 0 * x^929 + 0 * x^930 + 0 * x^931 + 0 * x^932 + 0 * x^933 + 0 * x^934 + 0 * x^935 + 0 * x^936 + 0 * x^937 + 0 * x^938 + 0 * x^939 + 0 * x^940 + 0 * x^941 + 0 * x^942 + 0 * x^943 + 0 * x^944 + 0 * x^945 + 0 * x^946 + 0 * x^947 + 0 * x^948 + 0 * x^949 + 0 * x^950 + 0 * x^951 + 0 * x^952 + 0 * x^953 + 0 * x^954 + 0 * x^955 + 0 * x^956 + 0 * x^957 + 0 * x^958 + 0 * x^959 + 0 * x^960 + 0 * x^961 + 0 * x^962 + 0 * x^963 + 0 * x^964 + 0 * x^965 + 0 * x^966 + 0 * x^967 + 0 * x^968 + 0 * x^969 + 0 * x^970 + 0 * x^971 + 0 * x^972 + 0 * x^973 + 0 * x^974 + 0 * x^975 + 0 * x^976 + 0 * x^977 + 0 * x^978 + 0 * x^979 + 0 * x^980 + 0 * x^981 + 0 * x^982 + 0 * x^983 + 0 * x^984 + 0 * x^985 + 0 * x^986 + 0 * x^987 + 0 * x^988 + 0 * x^989 + 0 * x^990 + 0 * x^991 + 0 * x^992 + 0 * x^993 + 0 * x^994 + 0 * x^995 + 0 * x^996 + 0 * x^997 + 0 * x^998 + 0 * x^999 + 0 * x^1000 + 0 * x^1001 + 0 * x^1002 + 0 * x^1003 + 0 * x^1004 + 0 * x^1005 + 0 * x^1006 + 0 * x^1007 + 0 * x^1008 + 0 * x^1009 + 0 * x^1010 + 0 * x^1011 + 0 * x^1012 + 0 * x^1013 + 0 * x^1014 + 0 * x^1015 + 0 * x^1016 + 0 * x^1017 + 0 * x^1018 + 0 * x^1019 + 0 * x^1020 + 0 * x^1021 + 0 * x^1022 + 0 * x^1023 + 3 * x^1024 = 0 +"3X^1024 + 2X -7 = 0" "\ +Reduced form: -7 * X^0 + 2 * X^1 + 0 * X^2 + 0 * X^3 + 0 * X^4 + 0 * X^5 + 0 * X^6 + 0 * X^7 + 0 * X^8 + 0 * X^9 + 0 * X^10 + 0 * X^11 + 0 * X^12 + 0 * X^13 + 0 * X^14 + 0 * X^15 + 0 * X^16 + 0 * X^17 + 0 * X^18 + 0 * X^19 + 0 * X^20 + 0 * X^21 + 0 * X^22 + 0 * X^23 + 0 * X^24 + 0 * X^25 + 0 * X^26 + 0 * X^27 + 0 * X^28 + 0 * X^29 + 0 * X^30 + 0 * X^31 + 0 * X^32 + 0 * X^33 + 0 * X^34 + 0 * X^35 + 0 * X^36 + 0 * X^37 + 0 * X^38 + 0 * X^39 + 0 * X^40 + 0 * X^41 + 0 * X^42 + 0 * X^43 + 0 * X^44 + 0 * X^45 + 0 * X^46 + 0 * X^47 + 0 * X^48 + 0 * X^49 + 0 * X^50 + 0 * X^51 + 0 * X^52 + 0 * X^53 + 0 * X^54 + 0 * X^55 + 0 * X^56 + 0 * X^57 + 0 * X^58 + 0 * X^59 + 0 * X^60 + 0 * X^61 + 0 * X^62 + 0 * X^63 + 0 * X^64 + 0 * X^65 + 0 * X^66 + 0 * X^67 + 0 * X^68 + 0 * X^69 + 0 * X^70 + 0 * X^71 + 0 * X^72 + 0 * X^73 + 0 * X^74 + 0 * X^75 + 0 * X^76 + 0 * X^77 + 0 * X^78 + 0 * X^79 + 0 * X^80 + 0 * X^81 + 0 * X^82 + 0 * X^83 + 0 * X^84 + 0 * X^85 + 0 * X^86 + 0 * X^87 + 0 * X^88 + 0 * X^89 + 0 * X^90 + 0 * X^91 + 0 * X^92 + 0 * X^93 + 0 * X^94 + 0 * X^95 + 0 * X^96 + 0 * X^97 + 0 * X^98 + 0 * X^99 + 0 * X^100 + 0 * X^101 + 0 * X^102 + 0 * X^103 + 0 * X^104 + 0 * X^105 + 0 * X^106 + 0 * X^107 + 0 * X^108 + 0 * X^109 + 0 * X^110 + 0 * X^111 + 0 * X^112 + 0 * X^113 + 0 * X^114 + 0 * X^115 + 0 * X^116 + 0 * X^117 + 0 * X^118 + 0 * X^119 + 0 * X^120 + 0 * X^121 + 0 * X^122 + 0 * X^123 + 0 * X^124 + 0 * X^125 + 0 * X^126 + 0 * X^127 + 0 * X^128 + 0 * X^129 + 0 * X^130 + 0 * X^131 + 0 * X^132 + 0 * X^133 + 0 * X^134 + 0 * X^135 + 0 * X^136 + 0 * X^137 + 0 * X^138 + 0 * X^139 + 0 * X^140 + 0 * X^141 + 0 * X^142 + 0 * X^143 + 0 * X^144 + 0 * X^145 + 0 * X^146 + 0 * X^147 + 0 * X^148 + 0 * X^149 + 0 * X^150 + 0 * X^151 + 0 * X^152 + 0 * X^153 + 0 * X^154 + 0 * X^155 + 0 * X^156 + 0 * X^157 + 0 * X^158 + 0 * X^159 + 0 * X^160 + 0 * X^161 + 0 * X^162 + 0 * X^163 + 0 * X^164 + 0 * X^165 + 0 * X^166 + 0 * X^167 + 0 * X^168 + 0 * X^169 + 0 * X^170 + 0 * X^171 + 0 * X^172 + 0 * X^173 + 0 * X^174 + 0 * X^175 + 0 * X^176 + 0 * X^177 + 0 * X^178 + 0 * X^179 + 0 * X^180 + 0 * X^181 + 0 * X^182 + 0 * X^183 + 0 * X^184 + 0 * X^185 + 0 * X^186 + 0 * X^187 + 0 * X^188 + 0 * X^189 + 0 * X^190 + 0 * X^191 + 0 * X^192 + 0 * X^193 + 0 * X^194 + 0 * X^195 + 0 * X^196 + 0 * X^197 + 0 * X^198 + 0 * X^199 + 0 * X^200 + 0 * X^201 + 0 * X^202 + 0 * X^203 + 0 * X^204 + 0 * X^205 + 0 * X^206 + 0 * X^207 + 0 * X^208 + 0 * X^209 + 0 * X^210 + 0 * X^211 + 0 * X^212 + 0 * X^213 + 0 * X^214 + 0 * X^215 + 0 * X^216 + 0 * X^217 + 0 * X^218 + 0 * X^219 + 0 * X^220 + 0 * X^221 + 0 * X^222 + 0 * X^223 + 0 * X^224 + 0 * X^225 + 0 * X^226 + 0 * X^227 + 0 * X^228 + 0 * X^229 + 0 * X^230 + 0 * X^231 + 0 * X^232 + 0 * X^233 + 0 * X^234 + 0 * X^235 + 0 * X^236 + 0 * X^237 + 0 * X^238 + 0 * X^239 + 0 * X^240 + 0 * X^241 + 0 * X^242 + 0 * X^243 + 0 * X^244 + 0 * X^245 + 0 * X^246 + 0 * X^247 + 0 * X^248 + 0 * X^249 + 0 * X^250 + 0 * X^251 + 0 * X^252 + 0 * X^253 + 0 * X^254 + 0 * X^255 + 0 * X^256 + 0 * X^257 + 0 * X^258 + 0 * X^259 + 0 * X^260 + 0 * X^261 + 0 * X^262 + 0 * X^263 + 0 * X^264 + 0 * X^265 + 0 * X^266 + 0 * X^267 + 0 * X^268 + 0 * X^269 + 0 * X^270 + 0 * X^271 + 0 * X^272 + 0 * X^273 + 0 * X^274 + 0 * X^275 + 0 * X^276 + 0 * X^277 + 0 * X^278 + 0 * X^279 + 0 * X^280 + 0 * X^281 + 0 * X^282 + 0 * X^283 + 0 * X^284 + 0 * X^285 + 0 * X^286 + 0 * X^287 + 0 * X^288 + 0 * X^289 + 0 * X^290 + 0 * X^291 + 0 * X^292 + 0 * X^293 + 0 * X^294 + 0 * X^295 + 0 * X^296 + 0 * X^297 + 0 * X^298 + 0 * X^299 + 0 * X^300 + 0 * X^301 + 0 * X^302 + 0 * X^303 + 0 * X^304 + 0 * X^305 + 0 * X^306 + 0 * X^307 + 0 * X^308 + 0 * X^309 + 0 * X^310 + 0 * X^311 + 0 * X^312 + 0 * X^313 + 0 * X^314 + 0 * X^315 + 0 * X^316 + 0 * X^317 + 0 * X^318 + 0 * X^319 + 0 * X^320 + 0 * X^321 + 0 * X^322 + 0 * X^323 + 0 * X^324 + 0 * X^325 + 0 * X^326 + 0 * X^327 + 0 * X^328 + 0 * X^329 + 0 * X^330 + 0 * X^331 + 0 * X^332 + 0 * X^333 + 0 * X^334 + 0 * X^335 + 0 * X^336 + 0 * X^337 + 0 * X^338 + 0 * X^339 + 0 * X^340 + 0 * X^341 + 0 * X^342 + 0 * X^343 + 0 * X^344 + 0 * X^345 + 0 * X^346 + 0 * X^347 + 0 * X^348 + 0 * X^349 + 0 * X^350 + 0 * X^351 + 0 * X^352 + 0 * X^353 + 0 * X^354 + 0 * X^355 + 0 * X^356 + 0 * X^357 + 0 * X^358 + 0 * X^359 + 0 * X^360 + 0 * X^361 + 0 * X^362 + 0 * X^363 + 0 * X^364 + 0 * X^365 + 0 * X^366 + 0 * X^367 + 0 * X^368 + 0 * X^369 + 0 * X^370 + 0 * X^371 + 0 * X^372 + 0 * X^373 + 0 * X^374 + 0 * X^375 + 0 * X^376 + 0 * X^377 + 0 * X^378 + 0 * X^379 + 0 * X^380 + 0 * X^381 + 0 * X^382 + 0 * X^383 + 0 * X^384 + 0 * X^385 + 0 * X^386 + 0 * X^387 + 0 * X^388 + 0 * X^389 + 0 * X^390 + 0 * X^391 + 0 * X^392 + 0 * X^393 + 0 * X^394 + 0 * X^395 + 0 * X^396 + 0 * X^397 + 0 * X^398 + 0 * X^399 + 0 * X^400 + 0 * X^401 + 0 * X^402 + 0 * X^403 + 0 * X^404 + 0 * X^405 + 0 * X^406 + 0 * X^407 + 0 * X^408 + 0 * X^409 + 0 * X^410 + 0 * X^411 + 0 * X^412 + 0 * X^413 + 0 * X^414 + 0 * X^415 + 0 * X^416 + 0 * X^417 + 0 * X^418 + 0 * X^419 + 0 * X^420 + 0 * X^421 + 0 * X^422 + 0 * X^423 + 0 * X^424 + 0 * X^425 + 0 * X^426 + 0 * X^427 + 0 * X^428 + 0 * X^429 + 0 * X^430 + 0 * X^431 + 0 * X^432 + 0 * X^433 + 0 * X^434 + 0 * X^435 + 0 * X^436 + 0 * X^437 + 0 * X^438 + 0 * X^439 + 0 * X^440 + 0 * X^441 + 0 * X^442 + 0 * X^443 + 0 * X^444 + 0 * X^445 + 0 * X^446 + 0 * X^447 + 0 * X^448 + 0 * X^449 + 0 * X^450 + 0 * X^451 + 0 * X^452 + 0 * X^453 + 0 * X^454 + 0 * X^455 + 0 * X^456 + 0 * X^457 + 0 * X^458 + 0 * X^459 + 0 * X^460 + 0 * X^461 + 0 * X^462 + 0 * X^463 + 0 * X^464 + 0 * X^465 + 0 * X^466 + 0 * X^467 + 0 * X^468 + 0 * X^469 + 0 * X^470 + 0 * X^471 + 0 * X^472 + 0 * X^473 + 0 * X^474 + 0 * X^475 + 0 * X^476 + 0 * X^477 + 0 * X^478 + 0 * X^479 + 0 * X^480 + 0 * X^481 + 0 * X^482 + 0 * X^483 + 0 * X^484 + 0 * X^485 + 0 * X^486 + 0 * X^487 + 0 * X^488 + 0 * X^489 + 0 * X^490 + 0 * X^491 + 0 * X^492 + 0 * X^493 + 0 * X^494 + 0 * X^495 + 0 * X^496 + 0 * X^497 + 0 * X^498 + 0 * X^499 + 0 * X^500 + 0 * X^501 + 0 * X^502 + 0 * X^503 + 0 * X^504 + 0 * X^505 + 0 * X^506 + 0 * X^507 + 0 * X^508 + 0 * X^509 + 0 * X^510 + 0 * X^511 + 0 * X^512 + 0 * X^513 + 0 * X^514 + 0 * X^515 + 0 * X^516 + 0 * X^517 + 0 * X^518 + 0 * X^519 + 0 * X^520 + 0 * X^521 + 0 * X^522 + 0 * X^523 + 0 * X^524 + 0 * X^525 + 0 * X^526 + 0 * X^527 + 0 * X^528 + 0 * X^529 + 0 * X^530 + 0 * X^531 + 0 * X^532 + 0 * X^533 + 0 * X^534 + 0 * X^535 + 0 * X^536 + 0 * X^537 + 0 * X^538 + 0 * X^539 + 0 * X^540 + 0 * X^541 + 0 * X^542 + 0 * X^543 + 0 * X^544 + 0 * X^545 + 0 * X^546 + 0 * X^547 + 0 * X^548 + 0 * X^549 + 0 * X^550 + 0 * X^551 + 0 * X^552 + 0 * X^553 + 0 * X^554 + 0 * X^555 + 0 * X^556 + 0 * X^557 + 0 * X^558 + 0 * X^559 + 0 * X^560 + 0 * X^561 + 0 * X^562 + 0 * X^563 + 0 * X^564 + 0 * X^565 + 0 * X^566 + 0 * X^567 + 0 * X^568 + 0 * X^569 + 0 * X^570 + 0 * X^571 + 0 * X^572 + 0 * X^573 + 0 * X^574 + 0 * X^575 + 0 * X^576 + 0 * X^577 + 0 * X^578 + 0 * X^579 + 0 * X^580 + 0 * X^581 + 0 * X^582 + 0 * X^583 + 0 * X^584 + 0 * X^585 + 0 * X^586 + 0 * X^587 + 0 * X^588 + 0 * X^589 + 0 * X^590 + 0 * X^591 + 0 * X^592 + 0 * X^593 + 0 * X^594 + 0 * X^595 + 0 * X^596 + 0 * X^597 + 0 * X^598 + 0 * X^599 + 0 * X^600 + 0 * X^601 + 0 * X^602 + 0 * X^603 + 0 * X^604 + 0 * X^605 + 0 * X^606 + 0 * X^607 + 0 * X^608 + 0 * X^609 + 0 * X^610 + 0 * X^611 + 0 * X^612 + 0 * X^613 + 0 * X^614 + 0 * X^615 + 0 * X^616 + 0 * X^617 + 0 * X^618 + 0 * X^619 + 0 * X^620 + 0 * X^621 + 0 * X^622 + 0 * X^623 + 0 * X^624 + 0 * X^625 + 0 * X^626 + 0 * X^627 + 0 * X^628 + 0 * X^629 + 0 * X^630 + 0 * X^631 + 0 * X^632 + 0 * X^633 + 0 * X^634 + 0 * X^635 + 0 * X^636 + 0 * X^637 + 0 * X^638 + 0 * X^639 + 0 * X^640 + 0 * X^641 + 0 * X^642 + 0 * X^643 + 0 * X^644 + 0 * X^645 + 0 * X^646 + 0 * X^647 + 0 * X^648 + 0 * X^649 + 0 * X^650 + 0 * X^651 + 0 * X^652 + 0 * X^653 + 0 * X^654 + 0 * X^655 + 0 * X^656 + 0 * X^657 + 0 * X^658 + 0 * X^659 + 0 * X^660 + 0 * X^661 + 0 * X^662 + 0 * X^663 + 0 * X^664 + 0 * X^665 + 0 * X^666 + 0 * X^667 + 0 * X^668 + 0 * X^669 + 0 * X^670 + 0 * X^671 + 0 * X^672 + 0 * X^673 + 0 * X^674 + 0 * X^675 + 0 * X^676 + 0 * X^677 + 0 * X^678 + 0 * X^679 + 0 * X^680 + 0 * X^681 + 0 * X^682 + 0 * X^683 + 0 * X^684 + 0 * X^685 + 0 * X^686 + 0 * X^687 + 0 * X^688 + 0 * X^689 + 0 * X^690 + 0 * X^691 + 0 * X^692 + 0 * X^693 + 0 * X^694 + 0 * X^695 + 0 * X^696 + 0 * X^697 + 0 * X^698 + 0 * X^699 + 0 * X^700 + 0 * X^701 + 0 * X^702 + 0 * X^703 + 0 * X^704 + 0 * X^705 + 0 * X^706 + 0 * X^707 + 0 * X^708 + 0 * X^709 + 0 * X^710 + 0 * X^711 + 0 * X^712 + 0 * X^713 + 0 * X^714 + 0 * X^715 + 0 * X^716 + 0 * X^717 + 0 * X^718 + 0 * X^719 + 0 * X^720 + 0 * X^721 + 0 * X^722 + 0 * X^723 + 0 * X^724 + 0 * X^725 + 0 * X^726 + 0 * X^727 + 0 * X^728 + 0 * X^729 + 0 * X^730 + 0 * X^731 + 0 * X^732 + 0 * X^733 + 0 * X^734 + 0 * X^735 + 0 * X^736 + 0 * X^737 + 0 * X^738 + 0 * X^739 + 0 * X^740 + 0 * X^741 + 0 * X^742 + 0 * X^743 + 0 * X^744 + 0 * X^745 + 0 * X^746 + 0 * X^747 + 0 * X^748 + 0 * X^749 + 0 * X^750 + 0 * X^751 + 0 * X^752 + 0 * X^753 + 0 * X^754 + 0 * X^755 + 0 * X^756 + 0 * X^757 + 0 * X^758 + 0 * X^759 + 0 * X^760 + 0 * X^761 + 0 * X^762 + 0 * X^763 + 0 * X^764 + 0 * X^765 + 0 * X^766 + 0 * X^767 + 0 * X^768 + 0 * X^769 + 0 * X^770 + 0 * X^771 + 0 * X^772 + 0 * X^773 + 0 * X^774 + 0 * X^775 + 0 * X^776 + 0 * X^777 + 0 * X^778 + 0 * X^779 + 0 * X^780 + 0 * X^781 + 0 * X^782 + 0 * X^783 + 0 * X^784 + 0 * X^785 + 0 * X^786 + 0 * X^787 + 0 * X^788 + 0 * X^789 + 0 * X^790 + 0 * X^791 + 0 * X^792 + 0 * X^793 + 0 * X^794 + 0 * X^795 + 0 * X^796 + 0 * X^797 + 0 * X^798 + 0 * X^799 + 0 * X^800 + 0 * X^801 + 0 * X^802 + 0 * X^803 + 0 * X^804 + 0 * X^805 + 0 * X^806 + 0 * X^807 + 0 * X^808 + 0 * X^809 + 0 * X^810 + 0 * X^811 + 0 * X^812 + 0 * X^813 + 0 * X^814 + 0 * X^815 + 0 * X^816 + 0 * X^817 + 0 * X^818 + 0 * X^819 + 0 * X^820 + 0 * X^821 + 0 * X^822 + 0 * X^823 + 0 * X^824 + 0 * X^825 + 0 * X^826 + 0 * X^827 + 0 * X^828 + 0 * X^829 + 0 * X^830 + 0 * X^831 + 0 * X^832 + 0 * X^833 + 0 * X^834 + 0 * X^835 + 0 * X^836 + 0 * X^837 + 0 * X^838 + 0 * X^839 + 0 * X^840 + 0 * X^841 + 0 * X^842 + 0 * X^843 + 0 * X^844 + 0 * X^845 + 0 * X^846 + 0 * X^847 + 0 * X^848 + 0 * X^849 + 0 * X^850 + 0 * X^851 + 0 * X^852 + 0 * X^853 + 0 * X^854 + 0 * X^855 + 0 * X^856 + 0 * X^857 + 0 * X^858 + 0 * X^859 + 0 * X^860 + 0 * X^861 + 0 * X^862 + 0 * X^863 + 0 * X^864 + 0 * X^865 + 0 * X^866 + 0 * X^867 + 0 * X^868 + 0 * X^869 + 0 * X^870 + 0 * X^871 + 0 * X^872 + 0 * X^873 + 0 * X^874 + 0 * X^875 + 0 * X^876 + 0 * X^877 + 0 * X^878 + 0 * X^879 + 0 * X^880 + 0 * X^881 + 0 * X^882 + 0 * X^883 + 0 * X^884 + 0 * X^885 + 0 * X^886 + 0 * X^887 + 0 * X^888 + 0 * X^889 + 0 * X^890 + 0 * X^891 + 0 * X^892 + 0 * X^893 + 0 * X^894 + 0 * X^895 + 0 * X^896 + 0 * X^897 + 0 * X^898 + 0 * X^899 + 0 * X^900 + 0 * X^901 + 0 * X^902 + 0 * X^903 + 0 * X^904 + 0 * X^905 + 0 * X^906 + 0 * X^907 + 0 * X^908 + 0 * X^909 + 0 * X^910 + 0 * X^911 + 0 * X^912 + 0 * X^913 + 0 * X^914 + 0 * X^915 + 0 * X^916 + 0 * X^917 + 0 * X^918 + 0 * X^919 + 0 * X^920 + 0 * X^921 + 0 * X^922 + 0 * X^923 + 0 * X^924 + 0 * X^925 + 0 * X^926 + 0 * X^927 + 0 * X^928 + 0 * X^929 + 0 * X^930 + 0 * X^931 + 0 * X^932 + 0 * X^933 + 0 * X^934 + 0 * X^935 + 0 * X^936 + 0 * X^937 + 0 * X^938 + 0 * X^939 + 0 * X^940 + 0 * X^941 + 0 * X^942 + 0 * X^943 + 0 * X^944 + 0 * X^945 + 0 * X^946 + 0 * X^947 + 0 * X^948 + 0 * X^949 + 0 * X^950 + 0 * X^951 + 0 * X^952 + 0 * X^953 + 0 * X^954 + 0 * X^955 + 0 * X^956 + 0 * X^957 + 0 * X^958 + 0 * X^959 + 0 * X^960 + 0 * X^961 + 0 * X^962 + 0 * X^963 + 0 * X^964 + 0 * X^965 + 0 * X^966 + 0 * X^967 + 0 * X^968 + 0 * X^969 + 0 * X^970 + 0 * X^971 + 0 * X^972 + 0 * X^973 + 0 * X^974 + 0 * X^975 + 0 * X^976 + 0 * X^977 + 0 * X^978 + 0 * X^979 + 0 * X^980 + 0 * X^981 + 0 * X^982 + 0 * X^983 + 0 * X^984 + 0 * X^985 + 0 * X^986 + 0 * X^987 + 0 * X^988 + 0 * X^989 + 0 * X^990 + 0 * X^991 + 0 * X^992 + 0 * X^993 + 0 * X^994 + 0 * X^995 + 0 * X^996 + 0 * X^997 + 0 * X^998 + 0 * X^999 + 0 * X^1000 + 0 * X^1001 + 0 * X^1002 + 0 * X^1003 + 0 * X^1004 + 0 * X^1005 + 0 * X^1006 + 0 * X^1007 + 0 * X^1008 + 0 * X^1009 + 0 * X^1010 + 0 * X^1011 + 0 * X^1012 + 0 * X^1013 + 0 * X^1014 + 0 * X^1015 + 0 * X^1016 + 0 * X^1017 + 0 * X^1018 + 0 * X^1019 + 0 * X^1020 + 0 * X^1021 + 0 * X^1022 + 0 * X^1023 + 3 * X^1024 = 0 Polynomial degree: 1024 The polynomial degree is strictly greater than 2, I can't solve." run_test \ -"40. degree 2 exponent too big in digits" \ -"3x^2147483647 + 2x -7 = 0" \ +"40. degree 2 eXponent too big in digits" \ +"3X^2147483647 + 2X -7 = 0" \ "" \ error run_test \ -"41. degree 2 exponent too big by 1 in digits" \ -"3x^1025 + 2x -7 = 0" \ +"41. degree 2 eXponent too big by 1 in digits" \ +"3X^1025 + 2X -7 = 0" \ "" \ error run_test \ -"42. degree 2 exponent too big by 1 in superscript" \ -"3x¹⁰²⁵ + 2x -7 = 0" \ +"42. degree 2 eXponent too big by 1 in superscript" \ +"3X¹⁰²⁵ + 2X -7 = 0" \ "" \ error + +run_test \ +"43. degree 0" \ +"6 = 6" "\ +Reduced form: 0 * X^0 = 0 +Any real number is a solution." + +run_test \ +"44. degree 0" \ +"6 * X^0 = 6 * X^0" "\ +Reduced form: 0 * X^0 = 0 +Any real number is a solution." + +run_test \ +"45. sqrt root precision" \ +"1.5X² + 3.7X + 2.4 = 0" "\ +Reduced form: 2.4 * X^0 + 3.7 * X^1 + 1.5 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly negative, the two complex solutions are: +-1.23333 - 0.280872*i +-1.23333 + 0.280872*i" + +run_test \ +"46. subject 1" \ +"5 * X^0 + 4 * X^1 - 9.3 * X^2 = 1 * X^0" "\ +Reduced form: 4 * X^0 + 4 * X^1 - 9.3 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly positive, the two solutions are: +0.905239 +-0.475131" + +run_test \ +"47. subject 2" \ +"5 * X^0 + 4 * X^1 = 4 * X^0" "\ +Reduced form: 1 * X^0 + 4 * X^1 = 0 +Polynomial degree: 1 +The solution is: +-0.25" + +run_test \ +"48. subject 3" \ +"8 * X^0 - 6 * X^1 + 0 * X^2 - 5.6 * X^3 = 3 * X^0" "\ +Reduced form: 5 * X^0 - 6 * X^1 + 0 * X^2 - 5.6 * X^3 = 0 +Polynomial degree: 3 +The polynomial degree is strictly greater than 2, I can't solve." + +run_test \ +"49. subject 4" \ +"6 * X^0 = 6 * X^0" "\ +Reduced form: 0 * X^0 = 0 +Any real number is a solution." + +run_test \ +"50. subject 5" \ +"10 * X^0 = 15 * X^0" "\ +Reduced form: -5 * X^0 = 0 +No solution." + +run_test \ +"51. subject 6" \ +"1 * X^0 + 2 * X^1 + 5 * X^2 = 0" "\ +Reduced form: 1 * X^0 + 2 * X^1 + 5 * X^2 = 0 +Polynomial degree: 2 +Discriminant is strictly negative, the two complex solutions are: +-1/5 + 2i/5 +-1/5 - 2i/5" \ No newline at end of file