@@ -1143,6 +1143,20 @@ arith_power (gfc_expr *op1, gfc_expr *op2, gfc_expr **resultp)
op2->value.complex, GFC_MPC_RND_MODE);
}
break;
+ case BT_UNSIGNED:
+ {
+ int k;
+ mpz_t x;
+ gcc_assert (op1->ts.type == BT_UNSIGNED);
+ k = gfc_validate_kind (BT_UNSIGNED, op1->ts.kind, false);
+ /* Exponentiation is performed modulo x = 2**n. */
+ mpz_init (x);
+ mpz_add_ui (x, gfc_unsigned_kinds[k].huge, 1);
+ mpz_powm (result->value.integer, op1->value.integer,
+ op2->value.integer, x);
+ mpz_clear (x);
+ }
+ break;
default:
gfc_internal_error ("arith_power(): unknown type");
}
@@ -1827,10 +1841,11 @@ eval_intrinsic (gfc_intrinsic_op op,
gcc_fallthrough ();
/* Numeric binary */
case INTRINSIC_POWER:
- if (flag_unsigned && op == INTRINSIC_POWER)
+ if (pedantic && (op1->ts.type == BT_UNSIGNED || op2->ts.type == BT_UNSIGNED))
{
- if (op1->ts.type == BT_UNSIGNED || op2->ts.type == BT_UNSIGNED)
- goto runtime;
+ gfc_error ("Unsigned exponentiation not permitted with -pedantic "
+ "at %L", &op1->where);
+ goto runtime;
}
gcc_fallthrough ();
@@ -1940,7 +1955,6 @@ runtime:
/* Create a run-time expression. */
result = gfc_get_operator_expr (&op1->where, op, op1, op2);
result->ts = temp.ts;
-
return result;
}
@@ -981,6 +981,14 @@ gfc_type_convert_binary (gfc_expr *e, int wconversion)
goto done;
}
+ /* Unsigned exponentiation is special, we need the type of the first
+ argument here because of modulo arithmetic. */
+ if (op1->ts.type == BT_UNSIGNED && e->value.op.op == INTRINSIC_POWER)
+ {
+ e->ts = op1->ts;
+ goto done;
+ }
+
if (op1->ts.kind > op2->ts.kind)
gfc_convert_type_warn (op2, &op1->ts, 2, wconversion);
else
@@ -2772,9 +2772,10 @@ end program main
@noindent
which outputs the number 18446744073709551583.
-Arithmetic operations work on unsigned integers, except for exponentiation,
-which is prohibited. Unary minus is not permitted when @code{-pedantic}
-is in force; this prohibition is part of J3/24-116.txt.
+Arithmetic operations work on unsigned integers, also for
+exponentiation. As an extension to J3/24-116.txt, unary minus
+and exponentiation of unsigned integers are permitted unless
+@code{-pedantic} is in force.
In intrinsic procedures, unsigned arguments are typically permitted
for arguments for the data to be processed, analogous to the
@@ -4310,19 +4310,6 @@ resolve_operator (gfc_expr *e)
return false;
case INTRINSIC_POWER:
-
- if (flag_unsigned)
- {
- if (op1->ts.type == BT_UNSIGNED || op2->ts.type == BT_UNSIGNED)
- {
- CHECK_INTERFACES
- gfc_error ("Exponentiation not valid at %L for %s and %s",
- &e->where, gfc_typename (op1), gfc_typename (op2));
- return false;
- }
- }
- gcc_fallthrough ();
-
case INTRINSIC_PLUS:
case INTRINSIC_MINUS:
case INTRINSIC_TIMES:
@@ -189,6 +189,8 @@ tree gfor_fndecl_caf_random_init;
trans-intrinsic.cc. */
gfc_powdecl_list gfor_fndecl_math_powi[4][3];
+tree gfor_fndecl_unsigned_pow_list[5][5];
+
tree gfor_fndecl_math_ishftc4;
tree gfor_fndecl_math_ishftc8;
tree gfor_fndecl_math_ishftc16;
@@ -3728,8 +3730,10 @@ gfc_build_intrinsic_function_decls (void)
int rkind, ikind, jkind;
#define NIKINDS 3
#define NRKINDS 4
- static int ikinds[NIKINDS] = {4, 8, 16};
- static int rkinds[NRKINDS] = {4, 8, 10, 16};
+#define NUKINDS 5
+ static const int ikinds[NIKINDS] = {4, 8, 16};
+ static const int rkinds[NRKINDS] = {4, 8, 10, 16};
+ static const int ukinds[NUKINDS] = {1, 2, 4, 8, 16};
char name[PREFIX_LEN + 12]; /* _gfortran_pow_?n_?n */
for (ikind=0; ikind < NIKINDS; ikind++)
@@ -3779,9 +3783,29 @@ gfc_build_intrinsic_function_decls (void)
TREE_NOTHROW (gfor_fndecl_math_powi[rkind][ikind].cmplx) = 1;
}
}
+ /* For unsigned types, we have every power for every type. */
+ for (int base = 0; base < NUKINDS; base++)
+ {
+ tree base_type = gfc_get_unsigned_type (ukinds[base]);
+ for (int expon = 0; expon < NUKINDS; expon++)
+ {
+ tree expon_type = gfc_get_unsigned_type (ukinds[base]);
+ if (base_type && expon_type)
+ {
+ sprintf (name, PREFIX("pow_m%d_m%d"), ukinds[base],
+ ukinds[expon]);
+ gfor_fndecl_unsigned_pow_list [base][expon] =
+ gfc_build_library_function_decl (get_identifier (name),
+ base_type, 2, base_type, expon_type);
+ TREE_READONLY (gfor_fndecl_unsigned_pow_list[base][expon]) = 1;
+ TREE_NOTHROW (gfor_fndecl_unsigned_pow_list[base][expon]) = 1;
+ }
+ }
+ }
}
#undef NIKINDS
#undef NRKINDS
+#undef NUKINDS
}
gfor_fndecl_math_ishftc4 = gfc_build_library_function_decl (
@@ -3595,8 +3595,93 @@ gfc_conv_cst_int_power (gfc_se * se, tree lhs, tree rhs)
return 1;
}
+/* Convert lhs**rhs, for constant rhs, when both are unsigned.
+ Method:
+ if (rhs == 0) ! Checked here.
+ return 1;
+ if (lhs & 1 == 1) ! odd_cnd
+ {
+ if (bit_size(rhs) < bit_size(lhs)) ! Checked here.
+ return lhs ** rhs;
+
+ mask = (1 < bit_size(a) - 1) / 2;
+ return lhs ** (n & rhs);
+ }
+ if (rhs > bit_size(lhs)) ! Checked here.
+ return 0;
+
+ return lhs ** rhs;
+*/
+
+static int
+gfc_conv_cst_uint_power (gfc_se * se, tree lhs, tree rhs)
+{
+ tree type = TREE_TYPE (lhs);
+ tree tmp, is_odd, odd_branch, even_branch;
+ unsigned HOST_WIDE_INT lhs_prec, rhs_prec;
+ wi::tree_to_wide_ref wrhs = wi::to_wide (rhs);
+ unsigned HOST_WIDE_INT n, n_odd;
+ tree vartmp_odd[POWI_TABLE_SIZE], vartmp_even[POWI_TABLE_SIZE];
+
+ /* Anything ** 0 is one. */
+ if (tree_int_cst_sgn (rhs) == 0)
+ {
+ se->expr = build_int_cst (type, 1);
+ return 1;
+ }
+
+ if (!wi::fits_shwi_p (wrhs))
+ return 0;
+
+ n = wrhs.to_uhwi ();
+
+ /* tmp = a & 1; . */
+ tmp = fold_build2_loc (input_location, BIT_AND_EXPR, type,
+ lhs, build_int_cst (type, 1));
+ is_odd = fold_build2_loc (input_location, EQ_EXPR, logical_type_node,
+ tmp, build_int_cst (type, 1));
+
+ lhs_prec = TYPE_PRECISION (type);
+ rhs_prec = TYPE_PRECISION (TREE_TYPE(rhs));
+
+ if (rhs_prec >= lhs_prec)
+ {
+ unsigned HOST_WIDE_INT mask;
+ mask = (((unsigned HOST_WIDE_INT) 1) << (lhs_prec - 1)) - 1;
+ n_odd = n & mask;
+ }
+ else
+ n_odd = n;
+
+ memset (vartmp_odd, 0, sizeof (vartmp_odd));
+ vartmp_odd[0] = build_int_cst(type, 1);
+ vartmp_odd[1] = lhs;
+ odd_branch = gfc_conv_powi (se, n_odd, vartmp_odd);
+ even_branch = NULL_TREE;
+
+ if (n > lhs_prec)
+ even_branch = build_int_cst (type, 0);
+ else
+ {
+ if (n_odd != n)
+ {
+ memset (vartmp_even, 0, sizeof (vartmp_even));
+ vartmp_even[0] = build_int_cst(type, 1);
+ vartmp_even[1] = lhs;
+ even_branch = gfc_conv_powi (se, n, vartmp_even);
+ }
+ }
+ if (even_branch != NULL_TREE)
+ se->expr = fold_build3_loc (input_location, COND_EXPR, type, is_odd,
+ odd_branch, even_branch);
+ else
+ se->expr = odd_branch;
+
+ return 1;
+}
-/* Power op (**). Constant integer exponent has special handling. */
+/* Power op (**). Constant integer exponent and powers of 2 have special
+ handling. */
static void
gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
@@ -3618,13 +3703,29 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
gfc_conv_expr_val (&rse, expr->value.op.op2);
gfc_add_block_to_block (&se->pre, &rse.pre);
- if (expr->value.op.op2->ts.type == BT_INTEGER
+ if (expr->value.op.op2->expr_type == EXPR_CONSTANT)
+ {
+ if (expr->value.op.op2->ts.type == BT_INTEGER)
+ {
+ if (gfc_conv_cst_int_power (se, lse.expr, rse.expr))
+ return;
+ }
+ else if (expr->value.op.op2->ts.type == BT_UNSIGNED)
+ {
+ if (gfc_conv_cst_uint_power (se, lse.expr, rse.expr))
+ return;
+ }
+ }
+
+ if ((expr->value.op.op2->ts.type == BT_INTEGER
+ || expr->value.op.op2->ts.type == BT_UNSIGNED)
&& expr->value.op.op2->expr_type == EXPR_CONSTANT)
if (gfc_conv_cst_int_power (se, lse.expr, rse.expr))
return;
if (INTEGER_CST_P (lse.expr)
- && TREE_CODE (TREE_TYPE (rse.expr)) == INTEGER_TYPE)
+ && TREE_CODE (TREE_TYPE (rse.expr)) == INTEGER_TYPE
+ && expr->value.op.op2->ts.type == BT_INTEGER)
{
wi::tree_to_wide_ref wlhs = wi::to_wide (lse.expr);
HOST_WIDE_INT v;
@@ -3724,6 +3825,49 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
return;
}
}
+ /* Handle unsigned separate from signed above, things would be too
+ complicated otherwise. */
+
+ if (INTEGER_CST_P (lse.expr) && expr->value.op.op1->ts.type == BT_UNSIGNED)
+ {
+ gfc_expr * op1 = expr->value.op.op1;
+ tree type;
+
+ type = TREE_TYPE (lse.expr);
+
+ if (mpz_cmp_ui (op1->value.integer, 1) == 0)
+ {
+ /* 1**something is always 1. */
+ se->expr = build_int_cst (type, 1);
+ return;
+ }
+
+ /* Simplify 2u**x to a shift, with the value set to zero if it falls
+ outside the range. */
+ if (mpz_popcount (op1->value.integer) == 1)
+ {
+ tree prec_m1, lim, shift, lshift, cond, tmp;
+ tree rtype = TREE_TYPE (rse.expr);
+ int e = mpz_scan1 (op1->value.integer, 0);
+
+ shift = fold_build2_loc (input_location, MULT_EXPR,
+ rtype, build_int_cst (rtype, e),
+ rse.expr);
+ lshift = fold_build2_loc (input_location, LSHIFT_EXPR, type,
+ build_int_cst (type, 1), shift);
+ prec_m1 = fold_build2_loc (input_location, MINUS_EXPR, rtype,
+ build_int_cst (rtype, TYPE_PRECISION (type)),
+ build_int_cst (rtype, 1));
+ lim = fold_build2_loc (input_location, TRUNC_DIV_EXPR, rtype,
+ prec_m1, build_int_cst (rtype, e));
+ cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node,
+ rse.expr, lim);
+ tmp = fold_build3_loc (input_location, COND_EXPR, type, cond,
+ build_int_cst (type, 0), lshift);
+ se->expr = tmp;
+ return;
+ }
+ }
gfc_int4_type_node = gfc_get_int_type (4);
@@ -3856,6 +4000,16 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
fndecl = gfc_builtin_decl_for_float_kind (BUILT_IN_CPOW, kind);
break;
+ case BT_UNSIGNED:
+ {
+ /* Valid kinds for unsigned are 1, 2, 4, 8, 16. Instead of using a
+ large switch statement, let's just use __builtin_ctz. */
+ int base = __builtin_ctz (expr->value.op.op1->ts.kind);
+ int expon = __builtin_ctz (expr->value.op.op2->ts.kind);
+ fndecl = gfor_fndecl_unsigned_pow_list[base][expon];
+ }
+ break;
+
default:
gcc_unreachable ();
break;
@@ -942,6 +942,8 @@ typedef struct GTY(()) gfc_powdecl_list {
gfc_powdecl_list;
extern GTY(()) gfc_powdecl_list gfor_fndecl_math_powi[4][3];
+extern GTY(()) tree gfor_fndecl_unsigned_pow_list[5][5];
+
extern GTY(()) tree gfor_fndecl_math_ishftc4;
extern GTY(()) tree gfor_fndecl_math_ishftc8;
extern GTY(()) tree gfor_fndecl_math_ishftc16;
new file mode 100644
@@ -0,0 +1,11862 @@
+! { dg-do run }
+! { dg-options -funsigned }
+program memain
+ implicit none
+ call tst_1_1
+ call tst_1_2
+ call tst_1_4
+ call tst_1_8
+ call tst_2_1
+ call tst_2_2
+ call tst_2_4
+ call tst_2_8
+ call tst_4_1
+ call tst_4_2
+ call tst_4_4
+ call tst_4_8
+ call tst_8_1
+ call tst_8_2
+ call tst_8_4
+ call tst_8_8
+contains
+ subroutine tst_1_1
+ unsigned(kind=1) :: x, r1, r2, r3, r4
+ unsigned(kind=1) :: n
+ x = 0u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_1_1
+ subroutine tst_1_2
+ unsigned(kind=1) :: x, r1, r2, r3, r4
+ unsigned(kind=2) :: n
+ x = 0u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_1_2
+ subroutine tst_1_4
+ unsigned(kind=1) :: x, r1, r2, r3, r4
+ unsigned(kind=4) :: n
+ x = 0u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_1_4
+ subroutine tst_1_8
+ unsigned(kind=1) :: x, r1, r2, r3, r4
+ unsigned(kind=8) :: n
+ x = 0u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_1_8
+ subroutine tst_2_1
+ unsigned(kind=2) :: x, r1, r2, r3, r4
+ unsigned(kind=1) :: n
+ x = 0u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_2_1
+ subroutine tst_2_2
+ unsigned(kind=2) :: x, r1, r2, r3, r4
+ unsigned(kind=2) :: n
+ x = 0u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_2_2
+ subroutine tst_2_4
+ unsigned(kind=2) :: x, r1, r2, r3, r4
+ unsigned(kind=4) :: n
+ x = 0u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_2_4
+ subroutine tst_2_8
+ unsigned(kind=2) :: x, r1, r2, r3, r4
+ unsigned(kind=8) :: n
+ x = 0u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_2_8
+ subroutine tst_4_1
+ unsigned(kind=4) :: x, r1, r2, r3, r4
+ unsigned(kind=1) :: n
+ x = 0u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_4_1
+ subroutine tst_4_2
+ unsigned(kind=4) :: x, r1, r2, r3, r4
+ unsigned(kind=2) :: n
+ x = 0u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_4_2
+ subroutine tst_4_4
+ unsigned(kind=4) :: x, r1, r2, r3, r4
+ unsigned(kind=4) :: n
+ x = 0u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_4_4
+ subroutine tst_4_8
+ unsigned(kind=4) :: x, r1, r2, r3, r4
+ unsigned(kind=8) :: n
+ x = 0u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_4_8
+ subroutine tst_8_1
+ unsigned(kind=8) :: x, r1, r2, r3, r4
+ unsigned(kind=1) :: n
+ x = 0u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_8_1
+ subroutine tst_8_2
+ unsigned(kind=8) :: x, r1, r2, r3, r4
+ unsigned(kind=2) :: n
+ x = 0u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_8_2
+ subroutine tst_8_4
+ unsigned(kind=8) :: x, r1, r2, r3, r4
+ unsigned(kind=4) :: n
+ x = 0u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_8_4
+ subroutine tst_8_8
+ unsigned(kind=8) :: x, r1, r2, r3, r4
+ unsigned(kind=8) :: n
+ x = 0u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_8_8
+end program memain
new file mode 100644
@@ -0,0 +1,8436 @@
+! { dg-do run }
+! { dg-options -funsigned }
+! { dg-require-effective-target fortran_integer_16 }
+program memain
+ implicit none
+ call tst_1_16
+ call tst_2_16
+ call tst_4_16
+ call tst_8_16
+ call tst_16_1
+ call tst_16_2
+ call tst_16_4
+ call tst_16_8
+ call tst_16_16
+contains
+ subroutine tst_1_16
+ unsigned(kind=1) :: x, r1, r2, r3, r4
+ unsigned(kind=16) :: n
+ x = 0u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 0u_1 ** n
+ r4 = 0u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 1u_1 ** n
+ r4 = 1u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 2u_1 ** n
+ r4 = 2u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 3u_1 ** n
+ r4 = 3u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 7u_1 ** n
+ r4 = 7u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 8u_1 ** n
+ r4 = 8u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 9u_1 ** n
+ r4 = 9u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 14u_1 ** n
+ r4 = 14u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 17u_1 ** n
+ r4 = 17u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_1
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 254u_1 ** n
+ r4 = 254u_1 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_1_16
+ subroutine tst_2_16
+ unsigned(kind=2) :: x, r1, r2, r3, r4
+ unsigned(kind=16) :: n
+ x = 0u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 0u_2 ** n
+ r4 = 0u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 1u_2 ** n
+ r4 = 1u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 2u_2 ** n
+ r4 = 2u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 3u_2 ** n
+ r4 = 3u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 7u_2 ** n
+ r4 = 7u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 8u_2 ** n
+ r4 = 8u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 9u_2 ** n
+ r4 = 9u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 14u_2 ** n
+ r4 = 14u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 17u_2 ** n
+ r4 = 17u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 254u_2 ** n
+ r4 = 254u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_2
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 65535u_2 ** n
+ r4 = 65535u_2 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_2_16
+ subroutine tst_4_16
+ unsigned(kind=4) :: x, r1, r2, r3, r4
+ unsigned(kind=16) :: n
+ x = 0u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 0u_4 ** n
+ r4 = 0u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 1u_4 ** n
+ r4 = 1u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 2u_4 ** n
+ r4 = 2u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 3u_4 ** n
+ r4 = 3u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 7u_4 ** n
+ r4 = 7u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 8u_4 ** n
+ r4 = 8u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 9u_4 ** n
+ r4 = 9u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 14u_4 ** n
+ r4 = 14u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 17u_4 ** n
+ r4 = 17u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 254u_4 ** n
+ r4 = 254u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 65535u_4 ** n
+ r4 = 65535u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_4
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 4294967295u_4 ** n
+ r4 = 4294967295u_4 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_4_16
+ subroutine tst_8_16
+ unsigned(kind=8) :: x, r1, r2, r3, r4
+ unsigned(kind=16) :: n
+ x = 0u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 0u_8 ** n
+ r4 = 0u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 1u_8 ** n
+ r4 = 1u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 2u_8 ** n
+ r4 = 2u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 3u_8 ** n
+ r4 = 3u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 7u_8 ** n
+ r4 = 7u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 8u_8 ** n
+ r4 = 8u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 9u_8 ** n
+ r4 = 9u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 14u_8 ** n
+ r4 = 14u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 17u_8 ** n
+ r4 = 17u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 254u_8 ** n
+ r4 = 254u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 65535u_8 ** n
+ r4 = 65535u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 4294967295u_8 ** n
+ r4 = 4294967295u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_8
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 18446744073709551615u_8 ** n
+ r4 = 18446744073709551615u_8 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_8_16
+ subroutine tst_16_1
+ unsigned(kind=16) :: x, r1, r2, r3, r4
+ unsigned(kind=1) :: n
+ x = 0u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 0u_1
+ r1 = x ** n
+ r2 = x ** 0u_1
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 0u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 1u_1
+ r1 = x ** n
+ r2 = x ** 1u_1
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 1u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 2u_1
+ r1 = x ** n
+ r2 = x ** 2u_1
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 2u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 7u_1
+ r1 = x ** n
+ r2 = x ** 7u_1
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 7u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 8u_1
+ r1 = x ** n
+ r2 = x ** 8u_1
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 8u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 16u_1
+ r1 = x ** n
+ r2 = x ** 16u_1
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 16u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 135u_1
+ r1 = x ** n
+ r2 = x ** 135u_1
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 135u_1
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_16_1
+ subroutine tst_16_2
+ unsigned(kind=16) :: x, r1, r2, r3, r4
+ unsigned(kind=2) :: n
+ x = 0u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 0u_2
+ r1 = x ** n
+ r2 = x ** 0u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 0u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 1u_2
+ r1 = x ** n
+ r2 = x ** 1u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 1u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 2u_2
+ r1 = x ** n
+ r2 = x ** 2u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 2u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 7u_2
+ r1 = x ** n
+ r2 = x ** 7u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 7u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 8u_2
+ r1 = x ** n
+ r2 = x ** 8u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 8u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 16u_2
+ r1 = x ** n
+ r2 = x ** 16u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 16u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 135u_2
+ r1 = x ** n
+ r2 = x ** 135u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 135u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 32779u_2
+ r1 = x ** n
+ r2 = x ** 32779u_2
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 32779u_2
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_16_2
+ subroutine tst_16_4
+ unsigned(kind=16) :: x, r1, r2, r3, r4
+ unsigned(kind=4) :: n
+ x = 0u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 0u_4
+ r1 = x ** n
+ r2 = x ** 0u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 0u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 1u_4
+ r1 = x ** n
+ r2 = x ** 1u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 1u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 2u_4
+ r1 = x ** n
+ r2 = x ** 2u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 2u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 7u_4
+ r1 = x ** n
+ r2 = x ** 7u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 7u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 8u_4
+ r1 = x ** n
+ r2 = x ** 8u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 8u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 16u_4
+ r1 = x ** n
+ r2 = x ** 16u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 16u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 135u_4
+ r1 = x ** n
+ r2 = x ** 135u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 135u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 32779u_4
+ r1 = x ** n
+ r2 = x ** 32779u_4
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 32779u_4
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_16_4
+ subroutine tst_16_8
+ unsigned(kind=16) :: x, r1, r2, r3, r4
+ unsigned(kind=8) :: n
+ x = 0u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 0u_8
+ r1 = x ** n
+ r2 = x ** 0u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 0u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 1u_8
+ r1 = x ** n
+ r2 = x ** 1u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 1u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 2u_8
+ r1 = x ** n
+ r2 = x ** 2u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 2u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 7u_8
+ r1 = x ** n
+ r2 = x ** 7u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 7u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 8u_8
+ r1 = x ** n
+ r2 = x ** 8u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 8u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 16u_8
+ r1 = x ** n
+ r2 = x ** 16u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 16u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 135u_8
+ r1 = x ** n
+ r2 = x ** 135u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 135u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 32779u_8
+ r1 = x ** n
+ r2 = x ** 32779u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 32779u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1267650600228229401496703205375u_16
+ n = 18446744073709551615u_8
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_8
+ r3 = 1267650600228229401496703205375u_16 ** n
+ r4 = 1267650600228229401496703205375u_16 ** 18446744073709551615u_8
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ end subroutine tst_16_8
+ subroutine tst_16_16
+ unsigned(kind=16) :: x, r1, r2, r3, r4
+ unsigned(kind=16) :: n
+ x = 0u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 0u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 0u_16 ** n
+ r4 = 0u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 1u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 1u_16 ** n
+ r4 = 1u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 2u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 2u_16 ** n
+ r4 = 2u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 3u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 3u_16 ** n
+ r4 = 3u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 7u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 7u_16 ** n
+ r4 = 7u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 8u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 8u_16 ** n
+ r4 = 8u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 9u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 9u_16 ** n
+ r4 = 9u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 14u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 14u_16 ** n
+ r4 = 14u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 17u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 17u_16 ** n
+ r4 = 17u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 254u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 254u_16 ** n
+ r4 = 254u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 65535u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 65535u_16 ** n
+ r4 = 65535u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 2u_16
+ r1 = x ** n
+ r2 = x ** 2u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 2u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 7u_16
+ r1 = x ** n
+ r2 = x ** 7u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 7u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 8u_16
+ r1 = x ** n
+ r2 = x ** 8u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 8u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 16u_16
+ r1 = x ** n
+ r2 = x ** 16u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 16u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 135u_16
+ r1 = x ** n
+ r2 = x ** 135u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 135u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 32779u_16
+ r1 = x ** n
+ r2 = x ** 32779u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 32779u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 18446744073709551615u_16
+ r1 = x ** n
+ r2 = x ** 18446744073709551615u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 18446744073709551615u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 4294967295u_16
+ n = 1267650600228229401496703205375u_16
+ r1 = x ** n
+ r2 = x ** 1267650600228229401496703205375u_16
+ r3 = 4294967295u_16 ** n
+ r4 = 4294967295u_16 ** 1267650600228229401496703205375u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 0u_16
+ r1 = x ** n
+ r2 = x ** 0u_16
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 0u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 1u_16
+ r1 = x ** n
+ r2 = x ** 1u_16
+ r3 = 18446744073709551615u_16 ** n
+ r4 = 18446744073709551615u_16 ** 1u_16
+ if (r1 /= r2 .or. r3 /= r4 .or. r1 /= r3) error stop
+
+ x = 18446744073709551615u_16
+ n = 2u_16
<