/* Generated automatically by the program `genmatch' from
   a IL pattern matching and simplification description.  */

#include "generic-match-head.cc"

bool
tree_nop_convert (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    CASE_CONVERT:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	{
/* #line 148 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 148 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 146, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail1:;
	    }
	}
        break;
      }
    case VIEW_CONVERT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	{
/* #line 151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[0]))
 && known_eq (TYPE_VECTOR_SUBPARTS (type),
 TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[0])))
 && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[0])))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 149, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail2:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

bool
tree_power_of_two_cand (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 797, __FILE__, __LINE__);
	  {
	    res_ops[0] = captures[0];
	    return true;
	  }
next_after_fail3:;
	}
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	switch (TREE_CODE (_p0))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 799, __FILE__, __LINE__);
		{
		  res_ops[0] = captures[0];
		  return true;
		}
next_after_fail4:;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return false;
}

bool
tree_negate_expr_p (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 1693 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
/* #line 1693 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((INTEGRAL_TYPE_P (type)
 && TYPE_UNSIGNED (type))
 || (!TYPE_OVERFLOW_SANITIZED (type)
 && may_negate_without_overflow_p (t))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1692, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail5:;
	    }
	}
        break;
      }
    case FIXED_CST:
      {
	{
/* #line 1698 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1698, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail6:;
	}
        break;
      }
    case NEGATE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	{
/* #line 1701 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 1701 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_SANITIZED (type)
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1700, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail7:;
	    }
	}
        break;
      }
    case REAL_CST:
      {
	{
/* #line 1704 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
/* #line 1704 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (t))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1703, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail8:;
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 1709 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
/* #line 1709 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (FLOAT_TYPE_P (TREE_TYPE (type)) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1708, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail9:;
	    }
	}
        break;
      }
    case MINUS_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1712 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1712 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type))
 || (FLOAT_TYPE_P (type)
 && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && !HONOR_SIGNED_ZEROS (type))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1711, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail10:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

bool
tree_truth_valued_p (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  {
/* #line 1900 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1900 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1
)
      {
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1899, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail11:;
      }
  }
  switch (TREE_CODE (t))
    {
    case LT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail12:;
	}
        break;
      }
    case LE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail13:;
	}
        break;
      }
    case EQ_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail14:;
	}
        break;
      }
    case NE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail15:;
	}
        break;
      }
    case GE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail16:;
	}
        break;
      }
    case GT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail17:;
	}
        break;
      }
    case UNORDERED_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail18:;
	}
        break;
      }
    case ORDERED_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail19:;
	}
        break;
      }
    case UNLT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail20:;
	}
        break;
      }
    case UNLE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail21:;
	}
        break;
      }
    case UNGT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail22:;
	}
        break;
      }
    case UNGE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail23:;
	}
        break;
      }
    case UNEQ_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail24:;
	}
        break;
      }
    case LTGT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail25:;
	}
        break;
      }
    case TRUTH_AND_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail26:;
	}
        break;
      }
    case TRUTH_ANDIF_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail27:;
	}
        break;
      }
    case TRUTH_OR_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail28:;
	}
        break;
      }
    case TRUTH_ORIF_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail29:;
	}
        break;
      }
    case TRUTH_XOR_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 1903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1903, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail30:;
	}
        break;
      }
    case TRUTH_NOT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	{
/* #line 1905 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1905, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail31:;
	}
        break;
      }
    default:;
    }
  return false;
}

bool
tree_logical_inverted_value (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case TRUTH_NOT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	{
/* #line 1907 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1907, __FILE__, __LINE__);
	  {
	    res_ops[0] = captures[0];
	    return true;
	  }
next_after_fail32:;
	}
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	if (tree_truth_valued_p (_p0))
	  {
	    {
/* #line 1909 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1909, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail33:;
	    }
	  }
        break;
      }
    case EQ_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 1911 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1911, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail34:;
	    }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	if (tree_truth_valued_p (_p0))
	  {
	    if (integer_truep (_p1))
	      {
		{
/* #line 1913 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1913, __FILE__, __LINE__);
		  {
		    res_ops[0] = captures[0];
		    return true;
		  }
next_after_fail35:;
		}
	      }
	  }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	if (tree_truth_valued_p (_p0))
	  {
	    if (integer_truep (_p1))
	      {
		{
/* #line 1915 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1915, __FILE__, __LINE__);
		  {
		    res_ops[0] = captures[0];
		    return true;
		  }
next_after_fail36:;
		}
	      }
	  }
        break;
      }
    default:;
    }
  return false;
}

bool
tree_zero_one_valued_p (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  {
/* #line 1940 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1940 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type)
 && (TYPE_UNSIGNED (type)
 || TYPE_PRECISION (type) > 1)
 && tree_nonzero_bits (captures[0]) == 1
)
      {
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1939, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail37:;
      }
  }
  if (tree_truth_valued_p (t))
    {
      {
/* #line 1946 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1946 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (type)
 && (TYPE_UNSIGNED (type)
 || TYPE_PRECISION (type) > 1)
)
	  {
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1945, __FILE__, __LINE__);
	    {
	      return true;
	    }
next_after_fail38:;
	  }
      }
    }
  return false;
}

bool
tree_with_possible_nonzero_bits (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 2428 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2428, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail39:;
	}
        break;
      }
    case SSA_NAME:
      {
	{
/* #line 2431 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 2431 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0]))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2430, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail40:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

bool
tree_with_possible_nonzero_bits2 (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case BIT_AND_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	if (tree_with_possible_nonzero_bits (_p0))
	  {
	    {
/* #line 2435 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2435, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail41:;
	    }
	  }
	if (tree_with_possible_nonzero_bits (_p1))
	  {
	    {
/* #line 2435 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2435, __FILE__, __LINE__);
	      {
		res_ops[0] = captures[0];
		return true;
	      }
next_after_fail42:;
	    }
	  }
        break;
      }
    default:;
    }
if (tree_with_possible_nonzero_bits (t))
  {
    {
/* #line 2433 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { t };
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2433, __FILE__, __LINE__);
      {
	res_ops[0] = captures[0];
	return true;
      }
next_after_fail43:;
    }
  }
  return false;
}

bool
tree_with_certain_nonzero_bits2 (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 2440 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2440, __FILE__, __LINE__);
	  {
	    res_ops[0] = captures[0];
	    return true;
	  }
next_after_fail44:;
	}
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 2442 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2442, __FILE__, __LINE__);
		{
		  res_ops[0] = captures[0];
		  return true;
		}
next_after_fail45:;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return false;
}

bool
tree_min_value (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 2611 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
/* #line 2611 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && wi::eq_p (wi::to_wide (t), wi::min_value (type))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2610, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail46:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

bool
tree_max_value (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 2616 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
/* #line 2616 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && wi::eq_p (wi::to_wide (t), wi::max_value (type))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2615, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail47:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

bool
tree_compositional_complex (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    CASE_CONVERT:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	switch (TREE_CODE (_p0))
	  {
	  case COMPLEX_EXPR:
	    {
	      tree _q20 = TREE_OPERAND (_p0, 0);
	      tree _q21 = TREE_OPERAND (_p0, 1);
	      {
/* #line 4299 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4299, __FILE__, __LINE__);
		{
		  return true;
		}
next_after_fail48:;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case COMPLEX_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
/* #line 4299 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4299, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail49:;
	}
        break;
      }
    default:;
    }
  return false;
}

bool
tree_double_value_p (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  {
/* #line 6942 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6942 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == double_type_node
)
      {
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 6941, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail50:;
      }
  }
  return false;
}

bool
tree_float_value_p (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  {
/* #line 6963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == float_type_node
)
      {
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 6962, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail51:;
      }
  }
  return false;
}

bool
tree_vec_same_elem_p (tree t)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case VEC_DUPLICATE_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	{
/* #line 8329 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8329, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail52:;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 8333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 8333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[0]) == SSA_NAME
 && uniform_vector_p (gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])))
)
	    {
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8332, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail53:;
	    }
	}
        break;
      }
    default:;
    }
  {
/* #line 8338 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 8338 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (uniform_vector_p (captures[0])
)
      {
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8337, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail54:;
      }
  }
  return false;
}

bool
tree_ctz_table_index (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case RSHIFT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	switch (TREE_CODE (_p0))
	  {
	  case MULT_EXPR:
	    {
	      tree _q20 = TREE_OPERAND (_p0, 0);
	      tree _q21 = TREE_OPERAND (_p0, 1);
	      switch (TREE_CODE (_q20))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    tree _q31 = TREE_OPERAND (_q20, 1);
		    switch (TREE_CODE (_q30))
		      {
		      case NEGATE_EXPR:
		        {
			  tree _q40 = TREE_OPERAND (_q30, 0);
			  if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
			    {
			      switch (TREE_CODE (_q21))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 8415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q21, _p1 };
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8415, __FILE__, __LINE__);
					    {
					      res_ops[0] = captures[0];
					      res_ops[1] = captures[1];
					      res_ops[2] = captures[2];
					      return true;
					    }
next_after_fail55:;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q31))
		      {
		      case NEGATE_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q31, 0);
			  if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
			    {
			      switch (TREE_CODE (_q21))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 8415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p1 };
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8415, __FILE__, __LINE__);
					    {
					      res_ops[0] = captures[0];
					      res_ops[1] = captures[1];
					      res_ops[2] = captures[2];
					      return true;
					    }
next_after_fail56:;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return false;
}

bool
tree_cond_expr_convert_p (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case COND_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	tree _p2 = TREE_OPERAND (t, 2);
	switch (TREE_CODE (_p0))
	  {
	  case LT_EXPR:
	  case LE_EXPR:
	  case EQ_EXPR:
	  case NE_EXPR:
	  case GE_EXPR:
	  case GT_EXPR:
	    {
	      tree _q20 = TREE_OPERAND (_p0, 0);
	      tree _q21 = TREE_OPERAND (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_p2))
		      {
		      CASE_CONVERT:
		        {
			  tree _q70 = TREE_OPERAND (_p2, 0);
			  {
/* #line 8420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 8420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TYPE_PRECISION (type) != TYPE_PRECISION (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (TREE_TYPE (captures[0]))
 == TYPE_PRECISION (TREE_TYPE (captures[1]))
 && TYPE_PRECISION (TREE_TYPE (captures[0]))
 == TYPE_PRECISION (TREE_TYPE (captures[2]))
 && (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
 || (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 == TYPE_UNSIGNED (TREE_TYPE (captures[2]))))
 && single_use (captures[5])
 && single_use (captures[6])
)
			      {
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8418, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  res_ops[3] = captures[3];
				  return true;
				}
next_after_fail57:;
			      }
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return false;
}

bool
tree_bitwise_induction_p (tree t, tree *res_ops)
{
  const tree type = TREE_TYPE (t);
  if (TREE_SIDE_EFFECTS (t)) return false;
  switch (TREE_CODE (t))
    {
    case BIT_AND_EXPR:
    case BIT_IOR_EXPR:
    case BIT_XOR_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	tree _p1 = TREE_OPERAND (t, 1);
	{
	  tree _p0_pops[1];
	  if (tree_nop_convert (_p0, _p0_pops))
	    {
	      tree _q20 = _p0_pops[0];
	      switch (TREE_CODE (_q20))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    switch (TREE_CODE (_q30))
		      {
		      CASE_CONVERT:
		        {
			  tree _q40 = TREE_OPERAND (_q30, 0);
			  switch (TREE_CODE (_q40))
			    {
			    case LSHIFT_EXPR:
			      {
				tree _q50 = TREE_OPERAND (_q40, 0);
				tree _q51 = TREE_OPERAND (_q40, 1);
				if (integer_onep (_q50))
				  {
				    {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p1, _q50 };
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				      {
					res_ops[0] = captures[0];
					res_ops[1] = captures[1];
					res_ops[2] = captures[2];
					return true;
				      }
next_after_fail58:;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case LSHIFT_EXPR:
		        {
			  tree _q40 = TREE_OPERAND (_q30, 0);
			  tree _q41 = TREE_OPERAND (_q30, 1);
			  if (integer_onep (_q40))
			    {
			      {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q41, _p1, _q40 };
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  return true;
				}
next_after_fail59:;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		CASE_CONVERT:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    switch (TREE_CODE (_q30))
		      {
		      case LSHIFT_EXPR:
		        {
			  tree _q40 = TREE_OPERAND (_q30, 0);
			  tree _q41 = TREE_OPERAND (_q30, 1);
			  if (integer_onep (_q40))
			    {
			      {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q41, _p1, _q40 };
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  return true;
				}
next_after_fail60:;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LSHIFT_EXPR:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    tree _q31 = TREE_OPERAND (_q20, 1);
		    if (integer_onep (_q30))
		      {
			{
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q31, _p1, _q30 };
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    res_ops[2] = captures[2];
			    return true;
			  }
next_after_fail61:;
			}
		      }
		    break;
		  }
	        default:;
	        }
}
	}
	{
	  tree _p1_pops[1];
	  if (tree_nop_convert (_p1, _p1_pops))
	    {
	      tree _q30 = _p1_pops[0];
	      switch (TREE_CODE (_q30))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      CASE_CONVERT:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  switch (TREE_CODE (_q50))
			    {
			    case LSHIFT_EXPR:
			      {
				tree _q60 = TREE_OPERAND (_q50, 0);
				tree _q61 = TREE_OPERAND (_q50, 1);
				if (integer_onep (_q60))
				  {
				    {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q61, _p0, _q60 };
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				      {
					res_ops[0] = captures[0];
					res_ops[1] = captures[1];
					res_ops[2] = captures[2];
					return true;
				      }
next_after_fail62:;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case LSHIFT_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  tree _q51 = TREE_OPERAND (_q40, 1);
			  if (integer_onep (_q50))
			    {
			      {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q51, _p0, _q50 };
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  return true;
				}
next_after_fail63:;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case LSHIFT_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  tree _q51 = TREE_OPERAND (_q40, 1);
			  if (integer_onep (_q50))
			    {
			      {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q51, _p0, _q50 };
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  return true;
				}
next_after_fail64:;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LSHIFT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    if (integer_onep (_q40))
		      {
			{
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q41, _p0, _q40 };
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    res_ops[2] = captures[2];
			    return true;
			  }
next_after_fail65:;
			}
		      }
		    break;
		  }
	        default:;
	        }
}
	}
	switch (TREE_CODE (_p0))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q20 = TREE_OPERAND (_p0, 0);
	      switch (TREE_CODE (_q20))
	        {
		CASE_CONVERT:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    switch (TREE_CODE (_q30))
		      {
		      case LSHIFT_EXPR:
		        {
			  tree _q40 = TREE_OPERAND (_q30, 0);
			  tree _q41 = TREE_OPERAND (_q30, 1);
			  if (integer_onep (_q40))
			    {
			      {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q41, _p1, _q40 };
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  return true;
				}
next_after_fail66:;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LSHIFT_EXPR:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    tree _q31 = TREE_OPERAND (_q20, 1);
		    if (integer_onep (_q30))
		      {
			{
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _p1, _q30 };
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    res_ops[2] = captures[2];
			    return true;
			  }
next_after_fail67:;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case LSHIFT_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  tree _q51 = TREE_OPERAND (_q40, 1);
			  if (integer_onep (_q50))
			    {
			      {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _p0, _q50 };
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  return true;
				}
next_after_fail68:;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LSHIFT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    if (integer_onep (_q40))
		      {
			{
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _p0, _q40 };
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    res_ops[2] = captures[2];
			    return true;
			  }
next_after_fail69:;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p0))
	  {
	  CASE_CONVERT:
	    {
	      tree _q20 = TREE_OPERAND (_p0, 0);
	      switch (TREE_CODE (_q20))
	        {
		case LSHIFT_EXPR:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    tree _q31 = TREE_OPERAND (_q20, 1);
		    if (integer_onep (_q30))
		      {
			{
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _p1, _q30 };
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    res_ops[2] = captures[2];
			    return true;
			  }
next_after_fail70:;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case LSHIFT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    if (integer_onep (_q40))
		      {
			{
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _p0, _q40 };
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    res_ops[2] = captures[2];
			    return true;
			  }
next_after_fail71:;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p0))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q20 = TREE_OPERAND (_p0, 0);
	      tree _q21 = TREE_OPERAND (_p0, 1);
	      if (integer_onep (_q20))
		{
		  {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _p1, _q20 };
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
		    {
		      res_ops[0] = captures[0];
		      res_ops[1] = captures[1];
		      res_ops[2] = captures[2];
		      return true;
		    }
next_after_fail72:;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      tree _q31 = TREE_OPERAND (_p1, 1);
	      if (integer_onep (_q30))
		{
		  {
/* #line 8439 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q30 };
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8439, __FILE__, __LINE__);
		    {
		      res_ops[0] = captures[0];
		      res_ops[1] = captures[1];
		      res_ops[2] = captures[2];
		      return true;
		    }
next_after_fail73:;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _p0 = TREE_OPERAND (t, 0);
	switch (TREE_CODE (_p0))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q20 = TREE_OPERAND (_p0, 0);
	      tree _q21 = TREE_OPERAND (_p0, 1);
	      switch (TREE_CODE (_q20))
	        {
		CASE_CONVERT:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    switch (TREE_CODE (_q30))
		      {
		      case LSHIFT_EXPR:
		        {
			  tree _q40 = TREE_OPERAND (_q30, 0);
			  tree _q41 = TREE_OPERAND (_q30, 1);
			  if (integer_onep (_q40))
			    {
			      {
/* #line 8444 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q41, _q21, _q40 };
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8444, __FILE__, __LINE__);
				{
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  res_ops[2] = captures[2];
				  return true;
				}
next_after_fail74:;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LSHIFT_EXPR:
		  {
		    tree _q30 = TREE_OPERAND (_q20, 0);
		    tree _q31 = TREE_OPERAND (_q20, 1);
		    if (integer_onep (_q30))
		      {
			{
/* #line 8444 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q21, _q30 };
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8444, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    res_ops[2] = captures[2];
			    return true;
			  }
next_after_fail75:;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      {
	tree _p0_pops[1];
	if (tree_nop_convert (_p0, _p0_pops))
	  {
	    tree _q20 = _p0_pops[0];
	    switch (TREE_CODE (_q20))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (_q20, 0);
		  tree _q31 = TREE_OPERAND (_q20, 1);
		  switch (TREE_CODE (_q30))
		    {
		    CASE_CONVERT:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			switch (TREE_CODE (_q40))
			  {
			  case LSHIFT_EXPR:
			    {
			      tree _q50 = TREE_OPERAND (_q40, 0);
			      tree _q51 = TREE_OPERAND (_q40, 1);
			      if (integer_onep (_q50))
				{
				  {
/* #line 8444 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _q31, _q50 };
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8444, __FILE__, __LINE__);
				    {
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      res_ops[2] = captures[2];
				      return true;
				    }
next_after_fail76:;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case LSHIFT_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			tree _q41 = TREE_OPERAND (_q30, 1);
			if (integer_onep (_q40))
			  {
			    {
/* #line 8444 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q41, _q31, _q40 };
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 8444, __FILE__, __LINE__);
			      {
				res_ops[0] = captures[0];
				res_ops[1] = captures[1];
				res_ops[2] = captures[2];
				return true;
			      }
next_after_fail77:;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    default:;
    }
  return false;
}

static tree
generic_simplify_1 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type)
 && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[1])) == 0
)
    {
      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail78;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail78;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3377, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 =  wide_int_to_tree (type,
 wi::add (wi::to_wide (captures[2]), 1));
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail78:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_2 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (sins), const combined_fn ARG_UNUSED (atans), const combined_fn ARG_UNUSED (sqrts), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 6684 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 REAL_VALUE_TYPE r_cst;
 build_sinatan_real (&r_cst, type);
 tree t_cst = build_real (type, r_cst);
 tree t_one = build_one_cst (type);
/* #line 6691 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail79;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6692, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail79;
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = unshare_expr (captures[1]);
		_r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
		_o1[0] = _r2;
	      }
	      _o1[1] =  t_cst;
	      _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = unshare_expr (captures[1]);
	      {
		tree _o2[1], _r2;
		{
		  tree _o3[2], _r3;
		  {
		    tree _o4[2], _r4;
		    _o4[0] = unshare_expr (captures[1]);
		    _o4[1] = unshare_expr (captures[1]);
		    _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
		    _o3[0] = _r4;
		  }
		  _o3[1] =  t_one;
		  _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  _o2[0] = _r3;
		}
		_r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
		if (!_r2)
		  goto next_after_fail79;
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op1 = _r1;
	    }
	    tree res_op2;
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  t_one;
	      _o1[1] = captures[1];
	      _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
	      if (!_r1)
	        goto next_after_fail79;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail79:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_3 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (outer_op))
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2985 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2988 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[1])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail80;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2989, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[0];
			_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
			_o1[0] = _r2;
		      }
		      _o1[1] = captures[2];
		      _r1 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      if (EXPR_P (_r1))
		        goto next_after_fail80;
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail80:;
		}
	    }
	  else
	    {
/* #line 2990 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail81;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2992, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[2], _r2;
			_o2[0] = captures[0];
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[2];
			  _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
			  _o2[1] = _r3;
			}
			_r2 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			if (EXPR_P (_r2))
			  goto next_after_fail81;
			_o1[0] = _r2;
		      }
		      _o1[1] = captures[1];
		      _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail81:;
		}
	      else
		{
/* #line 2993 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 2994 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst = const_binop (outer_op, type, captures[0], captures[2]);
/* #line 2995 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail82;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail82;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail82;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2996, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 =  cst;
				tree res_op1;
				res_op1 = captures[1];
				tree _r;
				_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail82:;
			    }
		      }
		    }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_4 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5218 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && wi::to_wide (captures[1]) != 0
)
    {
      {
/* #line 5221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 widest_int quot;
/* #line 5222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[1]),
 TYPE_SIGN (TREE_TYPE (captures[0])), &quot)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail83;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5224, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), quot);
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail83:;
	    }
	  else
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail84;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5225, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == NE_EXPR, type);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail84:;
	    }
      }
    }
  else
    {
/* #line 5226 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
 && (wi::bit_and (wi::to_wide (captures[1]), 1) == 1)
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail85;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail85;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail85;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5229, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
 tree itype = TREE_TYPE (captures[0]);
 int p = TYPE_PRECISION (itype);
 wide_int m = wi::one (p + 1) << p;
 wide_int a = wide_int::from (wi::to_wide (captures[1]), p + 1, UNSIGNED);
 wide_int i = wide_int::from (wi::mod_inv (a, m),
 p, TYPE_SIGN (itype));	    res_op1 = 
 wide_int_to_tree (itype, wi::mul (i, wi::to_wide (captures[2])));
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail85:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_5 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail86;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6853, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
	if (!_r)
	  goto next_after_fail86;
	return _r;
      }
next_after_fail86:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_6 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6147 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (((POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[0])))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && !(
1
 && TREE_CODE (TREE_TYPE (captures[0])) == REFERENCE_TYPE
 && (flag_sanitize & (SANITIZE_NULL | SANITIZE_ALIGNMENT))))
 || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && POINTER_TYPE_P (TREE_TYPE (captures[1]))
 && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1])))))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail87;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6159, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail87:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_7 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (pows), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 938 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 939 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail88;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 940, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, pows, type, 2, res_op0, res_op1);
	    if (!_r)
	      goto next_after_fail88;
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail88:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_8 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2935, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail89:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_9 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail90;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1358, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail90:;
  return NULL_TREE;
}

static tree
generic_simplify_10 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (TAN))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail91;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6814, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, TAN, type, 1, res_op0);
	if (!_r)
	  goto next_after_fail91;
	return _r;
      }
next_after_fail91:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_11 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 5084 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 5085 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == -1
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail92;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5086, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
	    tree _r;
	    _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail92:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_12 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail93;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail93;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1422, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail93:;
  return NULL_TREE;
}

static tree
generic_simplify_13 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (mod))
{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 748 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail94;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 749, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[0];
		if (TREE_TYPE (_o2[0]) != utype)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		if (TREE_TYPE (_o2[0]) != utype)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, mod, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      if (TREE_TYPE (_o1[0]) != utype)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail94:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_14 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail95;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1410, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[2])) goto next_after_fail95;
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      _o1[1] = unshare_expr (captures[2]);
      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail95:;
  return NULL_TREE;
}

static tree
generic_simplify_15 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2449 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (wi::bit_and_not (wi::to_wide (captures[1]), get_nonzero_bits (captures[0])) != 0
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail96;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2450, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == NE_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail96:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_16 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail97;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail97;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2656, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail97:;
  return NULL_TREE;
}

static tree
generic_simplify_17 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && CHAR_TYPE_SIZE == 8
 && tree_fits_uhwi_p (captures[2])
)
    {
      {
/* #line 4398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
 unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[2]);
 tree st = TYPE_PRECISION (type) > prec ? TREE_TYPE (captures[0]) : type;
/* #line 4409 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_PRECISION (type) > prec
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (type)
 && bits < prec && bits + 8 >= prec
)
	    {
	      {
/* #line 4413 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree nst = build_int_cst (integer_type_node, prec - 8);
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail98;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail98;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4414, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[1];
			  if (TREE_TYPE (_o3[0]) != st)
			    {
			      _r3 = fold_build1_loc (loc, NOP_EXPR, st, _o3[0]);
			    }
			  else
			    _r3 = _o3[0];
			  _o2[0] = _r3;
			}
			_o2[1] = nst;
			_r2 = fold_build2_loc (loc, LSHIFT_EXPR, st, _o2[0], _o2[1]);
			_o1[0] = _r2;
		      }
		      if (TREE_TYPE (_o1[0]) != type)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    res_op1 = captures[2];
		    tree _r;
		    _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail98:;
	      }
	    }
	  else
	    {
/* #line 4415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (bits + 8 == prec
)
		{
/* #line 4416 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (TYPE_UNSIGNED (st)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail99;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail99;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4417, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (TREE_TYPE (_o1[0]) != unsigned_char_type_node)
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, unsigned_char_type_node, _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail99:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail100;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail100;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4418, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (TREE_TYPE (_o1[0]) != signed_char_type_node)
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, signed_char_type_node, _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail100:;
		    }
		}
	      else
		{
/* #line 4419 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (bits < prec && bits + 8 > prec
)
		    {
		      {
/* #line 4420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree nst = build_int_cst (integer_type_node, bits & 7);
 tree bt = TYPE_UNSIGNED (st) ? unsigned_char_type_node
 : signed_char_type_node;
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail101;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail101;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4426, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[2], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[1];
				if (TREE_TYPE (_o2[0]) != bt)
				  {
				    _r2 = fold_build1_loc (loc, NOP_EXPR, bt, _o2[0]);
				  }
				else
				  _r2 = _o2[0];
				_o1[0] = _r2;
			      }
			      _o1[1] = nst;
			      _r1 = fold_build2_loc (loc, RSHIFT_EXPR, bt, _o1[0], _o1[1]);
			      res_op0 = _r1;
			    }
			    tree _r;
			    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail101:;
		      }
		    }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_18 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail102;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1417, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    return _r;
  }
next_after_fail102:;
  return NULL_TREE;
}

static tree
generic_simplify_19 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (COS))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6841 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[1])
 && ! HONOR_INFINITIES (captures[1])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail103;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6843, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 =  build_one_cst (type);
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[1];
	      _r1 = maybe_build_call_expr_loc (loc, COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
	      if (!_r1)
	        goto next_after_fail103;
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail103:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_20 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (SQRT_ALL))
{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 6477 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[1])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail104;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6478, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[1];
	    return _r;
	  }
next_after_fail104:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_21 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail105;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1926, __FILE__, __LINE__);
  {
    tree _r;
    _r =  constant_boolean_node (true, type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail105:;
  return NULL_TREE;
}

static tree
generic_simplify_22 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail106;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1427, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail106:;
  return NULL_TREE;
}

static tree
generic_simplify_23 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail107;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1432, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree _r;
    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    return _r;
  }
next_after_fail107:;
  return NULL_TREE;
}

static tree
generic_simplify_24 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1634 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail108;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail108;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1635, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail108:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail109;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail109;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1637, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[4];
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail109:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_25 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail110;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1437, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail110:;
  return NULL_TREE;
}

static tree
generic_simplify_26 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
  {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 5130 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (ic == icmp
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail111;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail111;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5131, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[1];
	    tree _r;
	    _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail111:;
	}
      else
	{
/* #line 5132 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ic == ncmp
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail112;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail112;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5133, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail112:;
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_27 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2139 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail113;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail113;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2141, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[3];
	    tree res_op2;
	    res_op2 =  build_zero_cst (type);
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail113:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_28 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (TANH), const combined_fn ARG_UNUSED (SINH), const combined_fn ARG_UNUSED (COSH))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail114;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6824, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = build_one_cst (type);
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  _r1 = maybe_build_call_expr_loc (loc, COSH, TREE_TYPE (_o1[0]), 1, _o1[0]);
	  if (!_r1)
	    goto next_after_fail114;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail114:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_29 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail115;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1442, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree _r;
    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    return _r;
  }
next_after_fail115:;
  return NULL_TREE;
}

static tree
generic_simplify_30 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail116;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail116;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1450, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    return _r;
  }
next_after_fail116:;
  return NULL_TREE;
}

static tree
generic_simplify_31 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail117;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1455, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail117:;
  return NULL_TREE;
}

static tree
generic_simplify_32 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 || POINTER_TYPE_P (TREE_TYPE (captures[2]))
 || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2])))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
    {
      {
/* #line 6171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[2]);
 tree arg1_type = TREE_TYPE (cst);
 unsigned int prec = TYPE_PRECISION (arg1_type);
 wide_int max = wi::max_value (arg1_type);
 wide_int signed_max = wi::max_value (prec, SIGNED);
 wide_int min = wi::min_value (arg1_type);
/* #line 6181 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 6183 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail118;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6184, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (false, type);
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail118:;
		}
	      else
		{
/* #line 6185 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail119;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6186, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 = captures[2];
			tree _r;
			_r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail119:;
		    }
		  else
		    {
/* #line 6187 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail120;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6188, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (true, type);
			    if (TREE_SIDE_EFFECTS (captures[0]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			    if (TREE_SIDE_EFFECTS (captures[2]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			    return _r;
			  }
next_after_fail120:;
			}
		      else
			{
/* #line 6189 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail121;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6190, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 = captures[2];
				tree _r;
				_r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail121:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 6191 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 6193 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail122;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6194, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (false, type);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail122:;
		    }
		  else
		    {
/* #line 6195 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail123;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6196, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 = captures[2];
			    tree _r;
			    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail123:;
			}
		      else
			{
/* #line 6197 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail124;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6198, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  constant_boolean_node (true, type);
				if (TREE_SIDE_EFFECTS (captures[0]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				if (TREE_SIDE_EFFECTS (captures[2]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				return _r;
			      }
next_after_fail124:;
			    }
			  else
			    {
/* #line 6199 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail125;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6200, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 = captures[0];
				    tree res_op1;
				    res_op1 = captures[2];
				    tree _r;
				    _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				    return _r;
				  }
next_after_fail125:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 6201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 6203 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail126;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6204, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
			    tree _r;
			    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			    if (TREE_SIDE_EFFECTS (captures[2]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			    return _r;
			  }
next_after_fail126:;
			}
		      else
			{
/* #line 6208 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail127;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6209, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
				tree _r;
				_r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				if (TREE_SIDE_EFFECTS (captures[2]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				return _r;
			      }
next_after_fail127:;
			    }
			}
		    }
		  else
		    {
/* #line 6213 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 6215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail128;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6216, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				tree _r;
				_r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				if (TREE_SIDE_EFFECTS (captures[2]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				return _r;
			      }
next_after_fail128:;
			    }
			  else
			    {
/* #line 6220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail129;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6221, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 = captures[0];
				    tree res_op1;
				    res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				    tree _r;
				    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
				    if (TREE_SIDE_EFFECTS (captures[2]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				    return _r;
				  }
next_after_fail129:;
				}
			    }
			}
		      else
			{
/* #line 6225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (wi::to_wide (cst) == signed_max
 && TYPE_UNSIGNED (arg1_type)
 && prec == GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (arg1_type))
 && INTEGRAL_TYPE_P (arg1_type)
)
			    {
/* #line 6236 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 6237 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 6239 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail130;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6240, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      _o1[0] = captures[1];
					      if (TREE_TYPE (_o1[0]) != st)
						{
						  _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
						}
					      else
					        _r1 = _o1[0];
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  build_zero_cst (st);
					    tree _r;
					    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
					    if (TREE_SIDE_EFFECTS (captures[2]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					    return _r;
					  }
next_after_fail130:;
					}
				      else
					{
/* #line 6241 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail131;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6242, __FILE__, __LINE__);
					      {
						tree res_op0;
						{
						  tree _o1[1], _r1;
						  _o1[0] = captures[1];
						  if (TREE_TYPE (_o1[0]) != st)
						    {
						      _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
						    }
						  else
						    _r1 = _o1[0];
						  res_op0 = _r1;
						}
						tree res_op1;
						res_op1 =  build_zero_cst (st);
						tree _r;
						_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
						if (TREE_SIDE_EFFECTS (captures[2]))
						  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
						return _r;
					      }
next_after_fail131:;
					    }
					  else
					    {
/* #line 6243 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail132;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6244, __FILE__, __LINE__);
						  {
						    tree res_op0;
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
						      res_op0 = _r1;
						    }
						    tree res_op1;
						    res_op1 =  build_zero_cst (st);
						    tree _r;
						    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
						    if (TREE_SIDE_EFFECTS (captures[2]))
						      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
						    return _r;
						  }
next_after_fail132:;
						}
					      else
						{
/* #line 6245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail133;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6246, __FILE__, __LINE__);
						      {
							tree res_op0;
							{
							  tree _o1[1], _r1;
							  _o1[0] = captures[1];
							  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
							  res_op0 = _r1;
							}
							tree res_op1;
							res_op1 =  build_zero_cst (st);
							tree _r;
							_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
							if (TREE_SIDE_EFFECTS (captures[2]))
							  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
							return _r;
						      }
next_after_fail133:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_33 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (sq), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 5404 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	{
/* #line 5407 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail134;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5408, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (false, type);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail134:;
	    }
	  else
	    {
/* #line 5411 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail135;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5412, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (true, type);
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail135:;
		}
	      else
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail136;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5414, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[0];
		    tree res_op1;
		    res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
		    tree _r;
		    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail136:;
		}
	    }
	}
      else
	{
/* #line 5415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
	    {
/* #line 5418 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == LT_EXPR
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail137;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5419, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (false, type);
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail137:;
		}
	      else
		{
/* #line 5421 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail138;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5422, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (true, type);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			return _r;
		      }
next_after_fail138:;
		    }
		  else
		    {
/* #line 5424 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail139;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5425, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 = captures[1];
			    tree _r;
			    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail139:;
			}
		      else
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail140;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5433, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 = captures[1];
			    tree _r;
			    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail140:;
			}
		    }
		}
	    }
	  else
	    {
/* #line 5434 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if ((cmp == LT_EXPR
 || cmp == LE_EXPR
 || cmp == GT_EXPR
 || cmp == GE_EXPR)
 && !REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
 && !HONOR_SIGN_DEPENDENT_ROUNDING (TREE_TYPE (captures[0]))
)
		{
		  {
/* #line 5441 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 REAL_VALUE_TYPE c2;
 enum tree_code ncmp = cmp;
 const real_format *fmt
 = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0])));
 real_arithmetic (&c2, MULT_EXPR,
 &TREE_REAL_CST (captures[1]), &TREE_REAL_CST (captures[1]));
 real_convert (&c2, fmt, &c2);
 if (!REAL_VALUE_ISINF (c2))
 {
 tree c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
 build_real (TREE_TYPE (captures[0]), c2));
 if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
 ncmp = ERROR_MARK;
 else if ((cmp == LT_EXPR || cmp == GE_EXPR)
 && real_less (&TREE_REAL_CST (c3), &TREE_REAL_CST (captures[1])))
 ncmp = cmp == LT_EXPR ? LE_EXPR : GT_EXPR;
 else if ((cmp == LE_EXPR || cmp == GT_EXPR)
 && real_less (&TREE_REAL_CST (captures[1]), &TREE_REAL_CST (c3)))
 ncmp = cmp == LE_EXPR ? LT_EXPR : GE_EXPR;
 else
 {
 REAL_VALUE_TYPE c2alt, tow;
 if (cmp == LT_EXPR || cmp == GE_EXPR)
 tow = dconst0;
 else
 tow = dconstinf;
 real_nextafter (&c2alt, fmt, &c2, &tow);
 real_convert (&c2alt, fmt, &c2alt);
 if (REAL_VALUE_ISINF (c2alt))
 ncmp = ERROR_MARK;
 else
 {
 c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
 build_real (TREE_TYPE (captures[0]), c2alt));
 if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
 ncmp = ERROR_MARK;
 else if (real_equal (&TREE_REAL_CST (c3),
 &TREE_REAL_CST (captures[1])))
 c2 = c2alt;
 }
 }
 }
/* #line 5491 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == GT_EXPR || cmp == GE_EXPR
)
			{
/* #line 5492 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (HONOR_INFINITIES (captures[0])
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail141;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5495, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 = captures[0];
				    tree res_op1;
				    res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
				    tree _r;
				    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    return _r;
				  }
next_after_fail141:;
				}
			      else
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail142;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5496, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (false, type);
				    if (TREE_SIDE_EFFECTS (captures[0]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    return _r;
				  }
next_after_fail142:;
				}
			    }
			  else
			    {
/* #line 5498 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK
)
				{
/* #line 5499 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (ncmp == GE_EXPR
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail143;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5500, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[0];
					tree res_op1;
					res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
					tree _r;
					_r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					return _r;
				      }
next_after_fail143:;
				    }
				  else
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail144;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5501, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[0];
					tree res_op1;
					res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
					tree _r;
					_r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					return _r;
				      }
next_after_fail144:;
				    }
				}
			    }
			}
		      else
			{
/* #line 5503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5507 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail145;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5508, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (true, type);
				    if (TREE_SIDE_EFFECTS (captures[0]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    return _r;
				  }
next_after_fail145:;
				}
			      else
				{
/* #line 5511 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail146;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5512, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[0];
					tree res_op1;
					res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
					tree _r;
					_r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					return _r;
				      }
next_after_fail146:;
				    }
				  else
				    {
/* #line 5515 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (! HONOR_INFINITIES (captures[0])
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail147;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5516, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 = captures[0];
					    tree res_op1;
					    res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
					    tree _r;
					    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
					    if (TREE_SIDE_EFFECTS (captures[1]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					    return _r;
					  }
next_after_fail147:;
					}
				      else
					{
/* #line 5518 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (1
)
					    {
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail148;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5519, __FILE__, __LINE__);
					      {
						if (! tree_invariant_p (captures[0])) goto next_after_fail148;
						tree res_op0;
						{
						  tree _o1[2], _r1;
						  _o1[0] = unshare_expr (captures[0]);
						  _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
						  _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
						  res_op0 = _r1;
						}
						tree res_op1;
						{
						  tree _o1[2], _r1;
						  _o1[0] = captures[0];
						  _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
						  _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
						  res_op1 = _r1;
						}
						tree _r;
						_r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
						if (TREE_SIDE_EFFECTS (captures[1]))
						  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
						return _r;
					      }
next_after_fail148:;
					    }
					}
				    }
				}
			    }
			  else
			    {
/* #line 5523 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
)
				{
/* #line 5524 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (ncmp == LT_EXPR
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail149;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5525, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[0];
					tree res_op1;
					res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
					tree _r;
					_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					return _r;
				      }
next_after_fail149:;
				    }
				  else
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail150;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5526, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[0];
					tree res_op1;
					res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
					tree _r;
					_r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					return _r;
				      }
next_after_fail150:;
				    }
				}
			      else
				{
/* #line 5528 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (ncmp != ERROR_MARK &&
1
)
				    {
/* #line 5529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (ncmp == LT_EXPR
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail151;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5530, __FILE__, __LINE__);
					  {
					    if (! tree_invariant_p (captures[0])) goto next_after_fail151;
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      _o1[0] = unshare_expr (captures[0]);
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
					      _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[0];
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
					      _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
					      res_op1 = _r1;
					    }
					    tree _r;
					    _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
					    if (TREE_SIDE_EFFECTS (captures[1]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					    return _r;
					  }
next_after_fail151:;
					}
				      else
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail152;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5533, __FILE__, __LINE__);
					  {
					    if (! tree_invariant_p (captures[0])) goto next_after_fail152;
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      _o1[0] = unshare_expr (captures[0]);
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
					      _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[0];
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
					      _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
					      res_op1 = _r1;
					    }
					    tree _r;
					    _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
					    if (TREE_SIDE_EFFECTS (captures[1]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					    return _r;
					  }
next_after_fail152:;
					}
				    }
				}
			    }
			}
		  }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_34 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail153;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1460, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail153:;
  return NULL_TREE;
}

static tree
generic_simplify_35 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail154;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3599, __FILE__, __LINE__);
  {
    tree _r;
    _r =  constant_boolean_node (cmp == GE_EXPR || cmp == LE_EXPR, type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail154:;
  return NULL_TREE;
}

static tree
generic_simplify_36 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 429 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
 && !integer_zerop (captures[0])
 && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail155;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 432, __FILE__, __LINE__);
      {
	tree _r;
	_r =  build_one_cst (type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail155:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_37 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
 && wi::to_wide (captures[4]) != 0
 && single_use (captures[1])
)
    {
      {
/* #line 6328 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
 signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail156;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail156;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6332, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[3];
	    tree res_op1;
	    res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
 wi::max_value (prec, sign)
 - wi::to_wide (captures[4]));
	    tree _r;
	    _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail156:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_38 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2099 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail157;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2100, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
	return _r;
      }
next_after_fail157:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_39 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail158;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1468, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail158:;
  return NULL_TREE;
}

static tree
generic_simplify_40 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail159;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1473, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail159:;
  return NULL_TREE;
}

static tree
generic_simplify_41 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1592 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail160;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1593, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail160:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_42 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (HYPOT))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail161;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6919, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_real_truncate (type, dconst_sqrt2 ());
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail161:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_43 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail162;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7611, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail162;
	return _r;
      }
next_after_fail162:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_44 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (cmp != NE_EXPR
 || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! tree_expr_maybe_nan_p (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail163;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5259, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (false, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail163:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_45 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail164;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7566, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail164;
	return _r;
      }
next_after_fail164:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_46 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail165;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1492, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail165:;
  return NULL_TREE;
}

static tree
generic_simplify_47 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
 bool val;
 switch (code2)
 {
 case EQ_EXPR: val = (cmp == 0); break;
 case NE_EXPR: val = (cmp != 0); break;
 case LT_EXPR: val = (cmp < 0); break;
 case GT_EXPR: val = (cmp > 0); break;
 case LE_EXPR: val = (cmp <= 0); break;
 case GE_EXPR: val = (cmp >= 0); break;
 default: gcc_unreachable ();
 }
/* #line 2787 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail166;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail166;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail166;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2787, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[3];
	    return _r;
	  }
next_after_fail166:;
	}
      else
	{
/* #line 2788 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail167;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail167;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail167;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2788, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (true, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail167:;
	    }
	  else
	    {
/* #line 2789 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail168;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail168;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail168;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2789, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail168:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_48 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3365 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type)
 && tree_int_cst_sgn (captures[4]) > 0
 && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
)
    {
      {
/* #line 3368 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wide_int wone = wi::one (TYPE_PRECISION (type));
 wide_int c = wi::add (wi::to_wide (captures[2]),
 wi::lshift (wone, wi::to_wide (captures[4])));
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail169;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail169;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail169;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3371, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    res_op1 =  wide_int_to_tree (type, c);
	    tree _r;
	    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail169:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_49 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (plusminus))
{
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3254 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
 || (INTEGRAL_TYPE_P (type)
 && tree_expr_nonzero_p (captures[1])
 && expr_not_equal_to (captures[1], wi::minus_one (TYPE_PRECISION (type))))
)
	{
/* #line 3259 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) || single_use (captures[3])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail170;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3262, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail170:;
	    }
	  else
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail171;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3263, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail171:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_50 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail172;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1507, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail172:;
  return NULL_TREE;
}

static tree
generic_simplify_51 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (rotate))
{
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((element_precision (TREE_TYPE (captures[2]))
 <= element_precision (TREE_TYPE (captures[3]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
 && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
)
    {
      {
/* #line 3983 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree rotate_type = TREE_TYPE (captures[2]);
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail173;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3985, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (TREE_TYPE (_o2[0]) != rotate_type)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail173:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_52 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 off0, off1;
 tree base0, base1;
 int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
 off0, off1,
1
);
/* #line 3495 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3496 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3497 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail174;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail174;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail174;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3498, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail174:;
		}
	      else
		{
/* #line 3499 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail175;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail175;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail175;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3500, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail175:;
		    }
		}
	    }
	  else
	    {
/* #line 3501 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail176;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail176;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail176;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3502, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail176:;
		}
	      else
		{
/* #line 3503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail177;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail177;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail177;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3504, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail177:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_53 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
 && (CONSTANT_CLASS_P (captures[1]) || single_use (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail178;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2361, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail178:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_54 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail179;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 723, __FILE__, __LINE__);
      {
	tree _r;
	_r =  build_zero_cst (type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail179:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_55 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail180;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1512, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail180:;
  return NULL_TREE;
}

static tree
generic_simplify_56 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail181;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 781, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[1];
	  _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail181:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_57 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (rints))
{
/* #line 7081 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7089 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!flag_errno_math
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail182;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7094, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail182:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_58 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && tree_expr_nonzero_p (captures[1])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail183;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2153, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail183:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_59 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (neeq))
{
  {
/* #line 2389 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
/* #line 2390 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (ptr_difference_const (captures[0], captures[2], &diff)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail184;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2391, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  build_int_cst_type (inner_type, diff);
	      _o1[1] = captures[1];
	      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 = captures[3];
	    tree _r;
	    _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail184:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_60 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail185;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1722, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[0] = _r2;
	  }
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail185:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_61 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail186;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7168, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail186:;
  return NULL_TREE;
}

static tree
generic_simplify_62 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div), const enum tree_code ARG_UNUSED (mod))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail187;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4221, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail187:;
  return NULL_TREE;
}

static tree
generic_simplify_63 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3397 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && tree_int_cst_sgn (captures[2]) > 0
 && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[1])) == 0
)
    {
      {
/* #line 3400 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t = type;
 if (!TYPE_OVERFLOW_WRAPS (t))
 t = unsigned_type_for (t);
 wide_int wone = wi::one (TYPE_PRECISION (t));
 wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])), wone);
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail188;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail188;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3405, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		if (TREE_TYPE (_o2[0]) != t)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] =  wide_int_to_tree (t, c);
	      _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail188:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 382 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
 && (!VECTOR_TYPE_P (type)
 || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
 || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
 && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
 || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
 && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 || (element_precision (type)
 == element_precision (TREE_TYPE (captures[2])))
 || (INTEGRAL_TYPE_P (type)
 && (tree_nonzero_bits (captures[0])
 & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
 true,
 element_precision (type))) == 0))))
)
    {
/* #line 396 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!VECTOR_TYPE_P (type)
 && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
 && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail189;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 399, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[1];
	      _o1[1] = captures[3];
	      _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail189:;
	}
      else
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail190;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 400, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[3];
	    tree _r;
	    _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail190:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_65 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (element_precision (captures[0]) >= element_precision (captures[1])
 && types_match (captures[1], captures[3])
)
    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (wi::lt_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
)
	{
/* #line 2201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail191;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2202, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[3];
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail191:;
	    }
	  else
	    {
/* #line 2203 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (tree_expr_nonzero_p (captures[1]) && tree_expr_nonzero_p (captures[3])
)
		{
		  {
/* #line 2204 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail192;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2208, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[3];
			  if (TREE_TYPE (_o1[0]) != utype)
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op0 = _r1;
			}
			tree res_op1;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (TREE_TYPE (_o1[0]) != utype)
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail192:;
		  }
		}
	    }
	}
      else
	{
/* #line 2209 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (wi::gt_p (wi::to_wide (captures[2]), 1, TYPE_SIGN (TREE_TYPE (captures[2])))
)
	    {
/* #line 2210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (TREE_TYPE (captures[1])) || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail193;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2211, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[3];
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail193:;
		}
	      else
		{
		  {
/* #line 2212 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail194;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2216, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (TREE_TYPE (_o1[0]) != utype)
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op0 = _r1;
			}
			tree res_op1;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[3];
			  if (TREE_TYPE (_o1[0]) != utype)
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail194:;
		  }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_66 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[1]));
/* #line 5148 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail195;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail195;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5149, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[2];
		tree _r;
		_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail195:;
	    }
	  else
	    {
/* #line 5150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail196;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail196;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5151, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[2];
		    tree _r;
		    _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail196:;
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_67 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail197;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1103, __FILE__, __LINE__);
  {
    tree _r;
    _r =  build_zero_cst (type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail197:;
  return NULL_TREE;
}

static tree
generic_simplify_68 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
 && !TYPE_SATURATING (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail198;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail198;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1533, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[2], _r2;
	    _o2[0] = captures[1];
	    _o2[1] = captures[2];
	    _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    _o1[0] = _r2;
	  }
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
	return _r;
      }
next_after_fail198:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_69 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3568 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail199;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3570, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == NE_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail199:;
    }
  else
    {
/* #line 3571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail200;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3573, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail200:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_70 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 6069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && type_has_mode_precision_p (TREE_TYPE (captures[1]))
 && element_precision (captures[0]) >= element_precision (captures[1])
 && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
)
    {
      {
/* #line 6073 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail201;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail201;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6074, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[1];
	      if (TREE_TYPE (_o1[0]) != stype)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 =  build_zero_cst (stype);
	    tree _r;
	    _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail201:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_71 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (sq), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 5539 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[0])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail202;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5540, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[1];
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail202:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_72 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3823 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_fits_shwi_p (captures[3])
 && tree_to_shwi (captures[3]) > 0
 && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3826 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t0 = TREE_TYPE (captures[2]);
 unsigned int prec = TYPE_PRECISION (t0);
 wide_int c1 = wi::to_wide (captures[3]);
 wide_int c2 = wi::to_wide (captures[4]);
 wide_int c3 = wi::to_wide (captures[5]);
 wide_int sb = wi::set_bit_in_zero (prec - 1, prec);
/* #line 3832 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((c2 & c3) != c3
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail203;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail203;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail203;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3833, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == NE_EXPR, type);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail203:;
	    }
	  else
	    {
/* #line 3834 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (t0)
)
		{
/* #line 3835 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if ((c3 & wi::arshift (sb, c1 - 1)) != 0
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail204;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail204;
		      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail204;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail204;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3836, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (cmp == NE_EXPR, type);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail204:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail205;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail205;
		      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail205;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail205;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3837, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[2];
			  _o1[1] =  wide_int_to_tree (t0, c2 << c1);
			  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree res_op1;
			res_op1 =  wide_int_to_tree (t0, c3 << c1);
			tree _r;
			_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail205:;
		    }
		}
	      else
		{
		  {
/* #line 3839 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wide_int smask = wi::arshift (sb, c1);
/* #line 3841 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if ((c2 & smask) == 0
)
			{
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail206;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail206;
			  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail206;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail206;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3842, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[2];
			      _o1[1] =  wide_int_to_tree (t0, c2 << c1);
			      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    res_op1 =  wide_int_to_tree (t0, c3 << c1);
			    tree _r;
			    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail206:;
			}
		      else
			{
/* #line 3844 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if ((c3 & smask) == 0
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail207;
			      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail207;
			      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail207;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail207;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3845, __FILE__, __LINE__);
			      {
				tree res_op0;
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[2];
				  _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
				  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  res_op0 = _r1;
				}
				tree res_op1;
				res_op1 =  wide_int_to_tree (t0, c3 << c1);
				tree _r;
				_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail207:;
			    }
			  else
			    {
/* #line 3847 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if ((c2 & smask) != (c3 & smask)
)
				{
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail208;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail208;
				  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail208;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail208;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3848, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (cmp == NE_EXPR, type);
				    if (TREE_SIDE_EFFECTS (captures[2]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				    return _r;
				  }
next_after_fail208:;
				}
			      else
				{
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail209;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail209;
				  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail209;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail209;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3849, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[2];
				      _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
				      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree res_op1;
				    res_op1 =  wide_int_to_tree (t0, (c3 << c1) | sb);
				    tree _r;
				    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
				    return _r;
				  }
next_after_fail209:;
				}
			    }
			}
		  }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_73 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3193 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
 && element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
)
	    {
	      {
/* #line 3197 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail210;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3198, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			if (TREE_TYPE (_o2[0]) != utype)
			  {
			    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
			  }
			else
			  _r2 = _o2[0];
			_o1[0] = _r2;
		      }
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[2];
			if (TREE_TYPE (_o2[0]) != utype)
			  {
			    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
			  }
			else
			  _r2 = _o2[0];
			_o1[1] = _r2;
		      }
		      _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    if (TREE_SIDE_EFFECTS (captures[3]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
		    return _r;
		  }
next_after_fail210:;
	      }
	    }
	  else
	    {
/* #line 3199 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (((element_precision (type) <= element_precision (TREE_TYPE (captures[1])))
 == (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))))
 && (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
 || (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail211;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3213, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (TREE_TYPE (_o1[0]) != type)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[2];
		      if (TREE_TYPE (_o1[0]) != type)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
		    if (TREE_SIDE_EFFECTS (captures[3]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
		    return _r;
		  }
next_after_fail211:;
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_74 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 1727 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail212;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1729, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[0];
	tree _r;
	_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail212:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_75 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (ovf))
{
/* #line 6408 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
 && (!TYPE_UNSIGNED (TREE_TYPE (captures[0])) || TYPE_UNSIGNED (TREE_TYPE (captures[1])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail213;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6412, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
	if (!_r)
	  goto next_after_fail213;
	return _r;
      }
next_after_fail213:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_76 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_PRECISION (type) > 1
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail214;
      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail214;
      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail214;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail214;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3639, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[0];
	      if (TREE_TYPE (_o3[0]) != type)
		{
		  _r3 = fold_build1_loc (loc, NOP_EXPR, type, _o3[0]);
		}
	      else
	        _r3 = _o3[0];
	      _o2[0] = _r3;
	    }
	    _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	return _r;
      }
next_after_fail214:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_77 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail215;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail215;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2671, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail215:;
  return NULL_TREE;
}

static tree
generic_simplify_78 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_PRECISION (type) > 1
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail216;
      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail216;
      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail216;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail216;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3651, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[0];
	      if (TREE_TYPE (_o3[0]) != type)
		{
		  _r3 = fold_build1_loc (loc, NOP_EXPR, type, _o3[0]);
		}
	      else
	        _r3 = _o3[0];
	      _o2[0] = _r3;
	    }
	    _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[1];
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	return _r;
      }
next_after_fail216:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_79 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_WRAPS (TREE_TYPE(captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail217;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 257, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE(captures[0]));
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail217:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_80 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail218;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail218;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2661, __FILE__, __LINE__);
  {
    tree _r;
    _r =  constant_boolean_node (true, type);
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail218:;
  return NULL_TREE;
}

static tree
generic_simplify_81 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (single_use (captures[0]) && single_use (captures[2])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail219;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5285, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail219:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_82 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 8111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
 ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
 tree elt = ctor_single_nonzero_element (ctor);
/* #line 8114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (elt
 && !HONOR_SNANS (type)
 && !HONOR_SIGNED_ZEROS (type)
)
	{
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail220;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail220;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8117, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r =  elt;
	    return _r;
	  }
next_after_fail220:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_83 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail221;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1643, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail221:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_84 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2851 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2853 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t1 = type;
 if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
 t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail222;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2860, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    if (TREE_TYPE (_o2[0]) != t1)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[1];
		    if (TREE_TYPE (_o2[0]) != t1)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail222:;
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_85 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail223;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail223;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1622, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail223:;
  return NULL_TREE;
}

static tree
generic_simplify_86 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (single_use (captures[0])
 && (TREE_CODE (captures[2]) == INTEGER_CST || TREE_CODE (captures[2]) == VECTOR_CST)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail224;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5294, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail224:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_87 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail225;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail225;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1195, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail225:;
  return NULL_TREE;
}

static tree
generic_simplify_88 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail226;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail226;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5172, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail226:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_89 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 765 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && !TYPE_UNSIGNED (type)
 && !TYPE_OVERFLOW_TRAPS (type)
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && (expr_not_equal_to (captures[0], wi::to_wide (TYPE_MIN_VALUE (type)))
 || expr_not_equal_to (captures[1], wi::minus_one (TYPE_PRECISION
 (TREE_TYPE (captures[1])))))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail227;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 775, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail227:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_90 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail228;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail228;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5714, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail228:;
  return NULL_TREE;
}

static tree
generic_simplify_91 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (SIGNBIT))
{
/* #line 7346 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail229;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7347, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
	  _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail229:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_92 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5986 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && types_match (captures[0], captures[2])
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail230;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail230;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5989, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail230:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_93 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 1004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((
0
 || !sanitize_flags_p (SANITIZE_SHIFT_EXPONENT))
 && (TYPE_UNSIGNED (type)
 || shift == LSHIFT_EXPR
 || tree_expr_nonnegative_p (captures[0]))
 && wi::ges_p (wi::to_wide (uniform_integer_cst_p (captures[1])),
 element_precision (type))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail231;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1012, __FILE__, __LINE__);
      {
	tree _r;
	_r =  build_zero_cst (type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail231:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_94 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail232;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5770, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail232:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_95 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail233;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7583, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail233;
	return _r;
      }
next_after_fail233:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_96 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type)
 || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
)
    {
      {
/* #line 5120 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 5122 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail234;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5123, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail234:;
	    }
	  else
	    {
/* #line 5124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail235;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5125, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[0];
		    tree res_op1;
		    res_op1 = captures[1];
		    tree _r;
		    _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail235:;
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_97 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 606 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail236;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 609, __FILE__, __LINE__);
      {
	tree _r;
	_r =  build_minus_one_cst (type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail236:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_98 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6351 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail237;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail237;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6353, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[0];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail237:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_99 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TREE_INT_CST_LOW (captures[1]) & 1
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail238;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2423, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == NE_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail238:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_100 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
/* #line 7572 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (single_use (captures[0])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail239;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7573, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    res_op1 = captures[2];
	    tree res_op2;
	    res_op2 = captures[3];
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
	    if (!_r)
	      goto next_after_fail239;
	    return _r;
	  }
next_after_fail239:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_101 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail240;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail240;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2661, __FILE__, __LINE__);
  {
    tree _r;
    _r =  constant_boolean_node (true, type);
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail240:;
  return NULL_TREE;
}

static tree
generic_simplify_102 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3109 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
 || (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail241;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3119, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail241:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_103 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (integer_zerop (captures[5])
 && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
    {
/* #line 1995 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (integer_onep (captures[4])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail242;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail242;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1996, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[3], _r1;
	      _o1[0] = captures[1];
	      _o1[1] = captures[6];
	      _o1[2] = captures[9];
	      _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 = captures[4];
	    tree _r;
	    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail242:;
	}
      else
	{
/* #line 1997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (integer_minus_onep (captures[4])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail243;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail243;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[6];
		tree res_op2;
		res_op2 = captures[9];
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail243:;
	    }
	}
    }
  else
    {
/* #line 1999 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (integer_zerop (captures[4])
 && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
	{
/* #line 2002 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (integer_onep (captures[5])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail244;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail244;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2003, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[3], _r1;
		  _o1[0] = captures[1];
		  _o1[1] = captures[9];
		  _o1[2] = captures[6];
		  _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[5];
		tree _r;
		_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail244:;
	    }
	  else
	    {
/* #line 2004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (integer_minus_onep (captures[5])
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail245;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail245;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2005, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[9];
		    tree res_op2;
		    res_op2 = captures[6];
		    tree _r;
		    _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		    return _r;
		  }
next_after_fail245:;
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_104 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail246;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5784, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    return _r;
  }
next_after_fail246:;
  return NULL_TREE;
}

static tree
generic_simplify_105 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail247;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 416, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail247:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_106 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
 && tree_fits_uhwi_p (captures[4])
 && tree_to_uhwi (captures[4]) > 0
 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
)
    {
      {
/* #line 3864 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR)
 zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR
 && type_has_mode_precision_p (shift_type))
 {
 prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
 tree arg00 = captures[3];
 if (captures[2] != captures[3]
 && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
 {
 tree inner_type = TREE_TYPE (captures[3]);
 if (type_has_mode_precision_p (inner_type)
 && TYPE_PRECISION (inner_type) < prec)
 {
 prec = TYPE_PRECISION (inner_type);
 if (shiftc < prec)
 shift_type = inner_type;
 }
 }
 zerobits = HOST_WIDE_INT_M1U;
 if (shiftc < prec)
 {
 zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
 zerobits <<= prec - shiftc;
 }
 if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
 {
 if ((mask & zerobits) == 0)
 shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
 else
 zerobits = 0;
 }
 }
/* #line 3918 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail248;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail248;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail248;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail248;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3919, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail248:;
	    }
	  else
	    {
	      {
/* #line 3920 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3921 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3922 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
 if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
 break;
/* #line 3931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3933 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3935 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3936 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail249;
					  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail249;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail249;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail249;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3937, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (TREE_TYPE (_o3[0]) != shift_type)
						    {
						      _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						_r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      if (TREE_TYPE (_o1[0]) != type)
						{
						  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						}
					      else
					        _r1 = _o1[0];
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail249:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail250;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail250;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail250;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 = captures[0];
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail250:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_107 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 3947 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail251;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail251;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail251;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3948, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]),
 wi::exact_log2 (wi::to_wide (captures[1])));
	tree _r;
	_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail251:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_108 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3383 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && tree_int_cst_sgn (captures[2]) > 0
 && tree_int_cst_sgn (captures[4]) > 0
 && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
)
    {
      {
/* #line 3387 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t = type;
 if (!TYPE_OVERFLOW_WRAPS (t))
 t = unsigned_type_for (t);
 wide_int wone = wi::one (TYPE_PRECISION (t));
 wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])),
 wi::lshift (wone, wi::to_wide (captures[4])));
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail252;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail252;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail252;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3393, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		if (TREE_TYPE (_o2[0]) != t)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] =  wide_int_to_tree (t,c);
	      _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail252:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_109 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 4334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail253;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4335, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail253:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_110 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail254;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail254;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1164, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail254:;
  return NULL_TREE;
}

static tree
generic_simplify_111 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail255;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2126, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[0];
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail255:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_112 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (mod))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail256;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail256;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 718, __FILE__, __LINE__);
  {
    tree _r;
    _r =  build_zero_cst (type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail256:;
  return NULL_TREE;
}

static tree
generic_simplify_113 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (HYPOT))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail257;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6754, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail257:;
  return NULL_TREE;
}

static tree
generic_simplify_114 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (ovf))
{
/* #line 6415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
 && (!TYPE_UNSIGNED (TREE_TYPE (captures[1])) || TYPE_UNSIGNED (TREE_TYPE (captures[2])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail258;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6419, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
	if (!_r)
	  goto next_after_fail258;
	return _r;
      }
next_after_fail258:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_115 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5959 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_single_nonzero_warnv_p (captures[0], NULL)
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail259;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail259;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5960, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == NE_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail259:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_116 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail260;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6774, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail260:;
  return NULL_TREE;
}

static tree
generic_simplify_117 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 5067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type)
 && known_eq (TYPE_VECTOR_SUBPARTS (type),
 TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
 && (TYPE_MODE (TREE_TYPE (type))
 == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail261;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5072, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = captures[2];
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[3];
	      _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
	      _o2[1] = _r3;
	    }
	    _o2[2] = captures[4];
	    _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
	    _o1[0] = _r2;
	  }
	  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail261:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_118 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && op != MULT_EXPR
 && op != RDIV_EXPR
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && type_has_mode_precision_p (TREE_TYPE (captures[2]))
 && type_has_mode_precision_p (TREE_TYPE (captures[4]))
 && type_has_mode_precision_p (type)
 && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
 && types_match (captures[2], type)
 && (types_match (captures[2], captures[4])
 || poly_int_tree_p (captures[3]))
)
    {
/* #line 7220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail262;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7221, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[2];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail262:;
	}
      else
	{
	  {
/* #line 7222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail263;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7223, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail263:;
	  }
	}
    }
  else
    {
/* #line 7225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7228 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree arg0 = strip_float_extensions (captures[2]);
 tree arg1 = strip_float_extensions (captures[4]);
 tree itype = TREE_TYPE (captures[0]);
 tree ty1 = TREE_TYPE (arg0);
 tree ty2 = TREE_TYPE (arg1);
 enum tree_code code = TREE_CODE (itype);
/* #line 7234 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7236 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newtype = type;
 if (TYPE_MODE (ty1) == SDmode
 || TYPE_MODE (ty2) == SDmode
 || TYPE_MODE (type) == SDmode)
 newtype = dfloat32_type_node;
 if (TYPE_MODE (ty1) == DDmode
 || TYPE_MODE (ty2) == DDmode
 || TYPE_MODE (type) == DDmode)
 newtype = dfloat64_type_node;
 if (TYPE_MODE (ty1) == TDmode
 || TYPE_MODE (ty2) == TDmode
 || TYPE_MODE (type) == TDmode)
 newtype = dfloat128_type_node;
/* #line 7249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail264;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail264;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail264;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7254, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail264:;
			}
		      else
			{
			  {
/* #line 7255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7280 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (TYPE_PRECISION (newtype) < TYPE_PRECISION (itype)
 && (flag_unsafe_math_optimizations
 || (TYPE_PRECISION (newtype) == TYPE_PRECISION (type)
 && real_can_shorten_arithmetic (TYPE_MODE (itype),
 TYPE_MODE (type))
 && !excess_precision_type (newtype)))
 && !types_match (itype, newtype)
)
				{
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail265;
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail265;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail265;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7287, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail265:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_119 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1634 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail266;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail266;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1635, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail266:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail267;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail267;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1637, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[4];
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail267:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_120 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
 && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail268;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2378, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail268:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_121 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail269;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4214, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    if (TREE_SIDE_EFFECTS (captures[2]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    return _r;
  }
next_after_fail269:;
  return NULL_TREE;
}

static tree
generic_simplify_122 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 3745 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int prec = element_precision (type);
/* #line 3746 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (wi::ge_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
 && wi::lt_p (wi::to_wide (captures[1]), prec, TYPE_SIGN (TREE_TYPE (captures[1])))
 && wi::ge_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
 && wi::lt_p (wi::to_wide (captures[2]), prec, TYPE_SIGN (TREE_TYPE (captures[2])))
)
	{
	  {
/* #line 3750 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int low = (tree_to_uhwi (captures[1])
 + tree_to_uhwi (captures[2]));
/* #line 3754 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (low >= prec
)
		{
/* #line 3755 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (op == LROTATE_EXPR || op == RROTATE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail270;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail270;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail270;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3756, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low % prec);
			tree _r;
			_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail270:;
		    }
		  else
		    {
/* #line 3757 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail271;
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail271;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail271;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3758, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  build_zero_cst (type);
			    if (TREE_SIDE_EFFECTS (captures[0]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			    return _r;
			  }
next_after_fail271:;
			}
		      else
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail272;
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail272;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail272;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3759, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 =  build_int_cst (TREE_TYPE (captures[1]), prec - 1);
			    tree _r;
			    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail272:;
			}
		    }
		}
	      else
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail273;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail273;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail273;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3760, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[0];
		    tree res_op1;
		    res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low);
		    tree _r;
		    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail273:;
		}
	  }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_123 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 off0, off1;
 tree base0, base1;
 int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
 off0, off1,
1
);
/* #line 3495 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3496 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3497 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail274;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail274;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail274;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3498, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail274:;
		}
	      else
		{
/* #line 3499 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail275;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail275;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail275;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3500, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail275:;
		    }
		}
	    }
	  else
	    {
/* #line 3501 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail276;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail276;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail276;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3502, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail276:;
		}
	      else
		{
/* #line 3503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail277;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail277;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail277;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3504, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail277:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_124 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && tree_fits_uhwi_p (captures[2])
 && tree_to_uhwi (captures[2]) < 256
)
    {
      {
/* #line 4433 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
 tree nst = build_int_cst (integer_type_node, prec - 8);
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail278;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4439, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] = captures[1];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		_o2[1] = nst;
		_r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
		_o1[0] = _r2;
	      }
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail278:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_125 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail279;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail279;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 334, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	return _r;
      }
next_after_fail279:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_126 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail280;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1561, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[0];
	    if (TREE_TYPE (_o2[0]) != type)
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[0] = _r2;
	  }
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    if (TREE_TYPE (_o2[0]) != type)
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, rop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
	return _r;
      }
next_after_fail280:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_127 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
  {
/* #line 3777 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int c1 = wi::clz (wi::to_wide (captures[0]));
 int c2 = wi::clz (wi::to_wide (captures[2]));
/* #line 3779 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (c1 < c2
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail281;
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail281;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail281;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail281;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3780, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail281:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail282;
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail282;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail282;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail282;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3781, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c1 - c2);
	    tree _r;
	    _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail282:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_128 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail283;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1293, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == LT_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail283:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_129 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail284;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 954, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    if (!_r)
      goto next_after_fail284;
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail284:;
  return NULL_TREE;
}

static tree
generic_simplify_130 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
 && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[2]))
 && !TYPE_SATURATING (TREE_TYPE (captures[2]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail285;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail285;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1551, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[2], _r2;
	    _o2[0] = captures[0];
	    _o2[1] = captures[1];
	    _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    _o1[0] = _r2;
	  }
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
	return _r;
      }
next_after_fail285:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_131 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5179 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail286;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail286;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail286;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5182, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail286:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_132 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POPCOUNT), const combined_fn ARG_UNUSED (PARITY))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail287;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail287;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7736, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    if (!_r)
      goto next_after_fail287;
    return _r;
  }
next_after_fail287:;
  return NULL_TREE;
}

static tree
generic_simplify_133 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail288;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3422, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail288:;
  return NULL_TREE;
}

static tree
generic_simplify_134 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (PARITY))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail289;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7742, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    if (!_r)
      goto next_after_fail289;
    return _r;
  }
next_after_fail289:;
  return NULL_TREE;
}

static tree
generic_simplify_135 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (((TREE_CODE (captures[3]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && (int_fits_type_p (captures[3], TREE_TYPE (captures[1]))
 || tree_nop_conversion_p (TREE_TYPE (captures[1]), type)))
 || types_match (captures[1], captures[3]))
 && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
 && TREE_CODE (TREE_TYPE (captures[1])) != OFFSET_TYPE
 && (bitop != BIT_AND_EXPR ||
0
)
 && (
 TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
 || (
0
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
 || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
 || !type_has_mode_precision_p (type)
 || (
0
 && TREE_CODE (captures[3]) != INTEGER_CST
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && single_use (captures[0])
 && single_use (captures[2])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail290;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1837, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail290:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_136 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail291;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1580, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[0];
	    _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail291:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_137 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 3430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE
 && (! ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_UNDEFINED (type))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail292;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3433, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	return _r;
      }
next_after_fail292:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_138 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail293;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail293;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2651, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail293:;
  return NULL_TREE;
}

static tree
generic_simplify_139 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6342 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (single_use (captures[0])
 && ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail294;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6345, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[2];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail294:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_140 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (((TREE_CODE (captures[3]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && (int_fits_type_p (captures[3], TREE_TYPE (captures[1]))
 || tree_nop_conversion_p (TREE_TYPE (captures[1]), type)))
 || types_match (captures[1], captures[3]))
 && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
 && TREE_CODE (TREE_TYPE (captures[1])) != OFFSET_TYPE
 && (bitop != BIT_AND_EXPR ||
0
)
 && (
 TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
 || (
0
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
 || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
 || !type_has_mode_precision_p (type)
 || (
0
 && TREE_CODE (captures[3]) != INTEGER_CST
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && single_use (captures[0])
 && single_use (captures[2])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail295;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1837, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail295:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_141 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
/* #line 1683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail296;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail296;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1684, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail296:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail297;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail297;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1685, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail297:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_142 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6390 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 && (TYPE_PRECISION (TREE_TYPE (captures[1]))
 >= 2 * TYPE_PRECISION (TREE_TYPE (captures[2])))
 && tree_fits_uhwi_p (captures[4])
 && tree_to_uhwi (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[2]))
 && types_match (captures[2], captures[3])
 && type_has_mode_precision_p (TREE_TYPE (captures[2]))
 && (optab_handler (umulv4_optab, TYPE_MODE (TREE_TYPE (captures[2])))
 != CODE_FOR_nothing)
)
    {
      {
/* #line 6401 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail298;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail298;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6402, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		_o2[0] = captures[2];
		_o2[1] = captures[3];
		_r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
		if (!_r2)
		  goto next_after_fail298;
		_o1[0] = _r2;
	      }
	      _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 =  build_zero_cst (t);
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[4]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
	    return _r;
	  }
next_after_fail298:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_143 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2089 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail299;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2090, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail299:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_144 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 || POINTER_TYPE_P (TREE_TYPE (captures[2]))
 || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2])))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
    {
      {
/* #line 6171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[2]);
 tree arg1_type = TREE_TYPE (cst);
 unsigned int prec = TYPE_PRECISION (arg1_type);
 wide_int max = wi::max_value (arg1_type);
 wide_int signed_max = wi::max_value (prec, SIGNED);
 wide_int min = wi::min_value (arg1_type);
/* #line 6181 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 6183 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail300;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6184, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (false, type);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail300:;
		}
	      else
		{
/* #line 6185 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail301;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail301;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6186, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 = captures[2];
			tree _r;
			_r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail301:;
		    }
		  else
		    {
/* #line 6187 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail302;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6188, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (true, type);
			    if (TREE_SIDE_EFFECTS (captures[1]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			    if (TREE_SIDE_EFFECTS (captures[2]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			    return _r;
			  }
next_after_fail302:;
			}
		      else
			{
/* #line 6189 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail303;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail303;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6190, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 = captures[2];
				tree _r;
				_r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail303:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 6191 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 6193 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail304;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6194, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (false, type);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail304:;
		    }
		  else
		    {
/* #line 6195 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail305;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail305;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6196, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 = captures[2];
			    tree _r;
			    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail305:;
			}
		      else
			{
/* #line 6197 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail306;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6198, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  constant_boolean_node (true, type);
				if (TREE_SIDE_EFFECTS (captures[1]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				if (TREE_SIDE_EFFECTS (captures[2]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				return _r;
			      }
next_after_fail306:;
			    }
			  else
			    {
/* #line 6199 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail307;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail307;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6200, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 = captures[0];
				    tree res_op1;
				    res_op1 = captures[2];
				    tree _r;
				    _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				    return _r;
				  }
next_after_fail307:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 6201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 6203 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail308;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail308;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6204, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
			    tree _r;
			    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			    if (TREE_SIDE_EFFECTS (captures[2]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			    return _r;
			  }
next_after_fail308:;
			}
		      else
			{
/* #line 6208 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail309;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail309;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6209, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
				tree _r;
				_r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				if (TREE_SIDE_EFFECTS (captures[2]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				return _r;
			      }
next_after_fail309:;
			    }
			}
		    }
		  else
		    {
/* #line 6213 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 6215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail310;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail310;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6216, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				tree _r;
				_r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
				if (TREE_SIDE_EFFECTS (captures[2]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				return _r;
			      }
next_after_fail310:;
			    }
			  else
			    {
/* #line 6220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail311;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail311;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6221, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 = captures[0];
				    tree res_op1;
				    res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				    tree _r;
				    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
				    if (TREE_SIDE_EFFECTS (captures[2]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				    return _r;
				  }
next_after_fail311:;
				}
			    }
			}
		      else
			{
/* #line 6225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (wi::to_wide (cst) == signed_max
 && TYPE_UNSIGNED (arg1_type)
 && prec == GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (arg1_type))
 && INTEGRAL_TYPE_P (arg1_type)
)
			    {
/* #line 6236 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 6237 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 6239 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail312;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6240, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      _o1[0] = captures[1];
					      if (TREE_TYPE (_o1[0]) != st)
						{
						  _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
						}
					      else
					        _r1 = _o1[0];
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  build_zero_cst (st);
					    tree _r;
					    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
					    if (TREE_SIDE_EFFECTS (captures[2]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					    return _r;
					  }
next_after_fail312:;
					}
				      else
					{
/* #line 6241 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail313;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6242, __FILE__, __LINE__);
					      {
						tree res_op0;
						{
						  tree _o1[1], _r1;
						  _o1[0] = captures[1];
						  if (TREE_TYPE (_o1[0]) != st)
						    {
						      _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
						    }
						  else
						    _r1 = _o1[0];
						  res_op0 = _r1;
						}
						tree res_op1;
						res_op1 =  build_zero_cst (st);
						tree _r;
						_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
						if (TREE_SIDE_EFFECTS (captures[2]))
						  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
						return _r;
					      }
next_after_fail313:;
					    }
					  else
					    {
/* #line 6243 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail314;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6244, __FILE__, __LINE__);
						  {
						    tree res_op0;
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
						      res_op0 = _r1;
						    }
						    tree res_op1;
						    res_op1 =  build_zero_cst (st);
						    tree _r;
						    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
						    if (TREE_SIDE_EFFECTS (captures[2]))
						      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
						    return _r;
						  }
next_after_fail314:;
						}
					      else
						{
/* #line 6245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail315;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6246, __FILE__, __LINE__);
						      {
							tree res_op0;
							{
							  tree _o1[1], _r1;
							  _o1[0] = captures[1];
							  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
							  res_op0 = _r1;
							}
							tree res_op1;
							res_op1 =  build_zero_cst (st);
							tree _r;
							_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
							if (TREE_SIDE_EFFECTS (captures[2]))
							  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
							return _r;
						      }
next_after_fail315:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_145 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (fold_real_zero_addition_p (type, captures[0], captures[1], 0)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail316;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 199, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = non_lvalue_loc (loc, res_op0);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail316:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_146 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail317;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5929, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    tree _r;
    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail317:;
  return NULL_TREE;
}

static tree
generic_simplify_147 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail318;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1517, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree _r;
    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    return _r;
  }
next_after_fail318:;
  return NULL_TREE;
}

static tree
generic_simplify_148 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail319;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5934, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      {
	tree _o2[1], _r2;
	_o2[0] = captures[1];
	_r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	if (EXPR_P (_r2))
	  goto next_after_fail319;
	_o1[1] = _r2;
      }
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    tree _r;
    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    return _r;
  }
next_after_fail319:;
  return NULL_TREE;
}

static tree
generic_simplify_149 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[6]);
/* #line 8016 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (inverse_conditions_p (captures[0], captures[2])
 && element_precision (type) == element_precision (op_type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail320;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8018, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[5], _r1;
	      _o1[0] = captures[2];
	      _o1[1] = captures[3];
	      _o1[2] = captures[4];
	      _o1[3] = captures[5];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
		_o1[4] = _r2;
	      }
	      _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 5, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
	      if (!_r1)
	        goto next_after_fail320;
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    if (TREE_SIDE_EFFECTS (captures[6]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
	    return _r;
	  }
next_after_fail320:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_150 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (sgncmp), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5976 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && types_match (captures[0], captures[2])
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail321;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail321;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail321:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_151 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  {
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3715 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tem
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail322;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3716, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 =  tem;
	    tree _r;
	    _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail322:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_152 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail323;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1522, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail323:;
  return NULL_TREE;
}

static tree
generic_simplify_153 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3094 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type)
 && TREE_CODE (type) != COMPLEX_TYPE
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail324;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail324;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3097, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail324:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_154 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (floors), const combined_fn ARG_UNUSED (truncs))
{
/* #line 6932 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail325;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6938, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, truncs, type, 1, res_op0);
	if (!_r)
	  goto next_after_fail325;
	return _r;
      }
next_after_fail325:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_155 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail326;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4002, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail326:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_156 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail327;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2909, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail327:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_157 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail328;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5949, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      {
	tree _o2[1], _r2;
	_o2[0] = captures[1];
	_r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	if (EXPR_P (_r2))
	  goto next_after_fail328;
	_o1[1] = _r2;
      }
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    tree _r;
    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    return _r;
  }
next_after_fail328:;
  return NULL_TREE;
}

static tree
generic_simplify_158 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
 && TYPE_OVERFLOW_UNDEFINED (type)
 && !integer_zerop (captures[0])
 && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail329;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 449, __FILE__, __LINE__);
      {
	tree _r;
	_r =  build_minus_one_cst (type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail329:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_159 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 3965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 && (element_precision (TREE_TYPE (captures[2]))
 <= element_precision (TREE_TYPE (captures[3]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
)
    {
      {
/* #line 3969 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree shift_type = TREE_TYPE (captures[2]);
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail330;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3971, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (TREE_TYPE (_o2[0]) != shift_type)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail330:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_160 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail331;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3426, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail331:;
  return NULL_TREE;
}

static tree
generic_simplify_161 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 off0, off1;
 tree base0, base1;
 int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[2], base0, base1,
 off0, off1,
1
);
/* #line 6109 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 6111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail332;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail332;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail332;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6112, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (known_eq (off0, off1), type);
		return _r;
	      }
next_after_fail332:;
	    }
	  else
	    {
/* #line 6113 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail333;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail333;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail333;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (known_ne (off0, off1), type);
		    return _r;
		  }
next_after_fail333:;
		}
	      else
		{
/* #line 6115 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail334;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail334;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail334;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6116, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (known_lt (off0, off1), type);
			return _r;
		      }
next_after_fail334:;
		    }
		  else
		    {
/* #line 6117 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail335;
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail335;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail335;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (known_le (off0, off1), type);
			    return _r;
			  }
next_after_fail335:;
			}
		      else
			{
/* #line 6119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail336;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail336;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail336;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6120, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  constant_boolean_node (known_ge (off0, off1), type);
				return _r;
			      }
next_after_fail336:;
			    }
			  else
			    {
/* #line 6121 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
)
				{
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail337;
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail337;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail337;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (known_gt (off0, off1), type);
				    return _r;
				  }
next_after_fail337:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 6123 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 6125 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail338;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail338;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail338;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6126, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (false, type);
		    return _r;
		  }
next_after_fail338:;
		}
	      else
		{
/* #line 6127 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail339;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail339;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail339;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6128, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (true, type);
			return _r;
		      }
next_after_fail339:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_162 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 7069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail340;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7072, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
	if (!_r)
	  goto next_after_fail340;
	return _r;
      }
next_after_fail340:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_163 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail341;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail341;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail341;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2680, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail341:;
    }
  else
    {
/* #line 2681 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail342;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail342;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2682, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r =  constant_boolean_node (true, type);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail342:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_164 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail343;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2900, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail343:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_165 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail344;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail344;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2646, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail344:;
  return NULL_TREE;
}

static tree
generic_simplify_166 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1118 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail345;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail345;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1121, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail345:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_167 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
0
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail346;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3621, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (TREE_TYPE (_o1[0]) != boolean_type_node)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[0];
	tree _r;
	_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	return _r;
      }
next_after_fail346:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_168 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const combined_fn ARG_UNUSED (ctz))
{
  {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool zero_res = false;
 HOST_WIDE_INT zero_val = 0;
 tree type0 = TREE_TYPE (captures[1]);
 int prec = TYPE_PRECISION (type0);
 if (ctz == CFN_CTZ
 && CTZ_DEFINED_VALUE_AT_ZERO (SCALAR_TYPE_MODE (type0),
 zero_val) == 2)
 zero_res = true;
/* #line 7706 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
)
	{
/* #line 7707 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!zero_res || zero_val != wi::to_widest (captures[2])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail347;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7708, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail347:;
	    }
	}
      else
	{
/* #line 7709 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!zero_res || zero_val < 0 || zero_val >= prec
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail348;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail348;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7710, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[1];
		  _o1[1] =  wide_int_to_tree (type0,
 wi::mask (tree_to_uhwi (captures[2]) + 1,
 false, prec));
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 =  wide_int_to_tree (type0,
 wi::shifted_mask (tree_to_uhwi (captures[2]), 1,
 false, prec));
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail348:;
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_169 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail349;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail349;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1450, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    return _r;
  }
next_after_fail349:;
  return NULL_TREE;
}

static tree
generic_simplify_170 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && op != MULT_EXPR
 && op != RDIV_EXPR
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && type_has_mode_precision_p (TREE_TYPE (captures[2]))
 && type_has_mode_precision_p (TREE_TYPE (captures[4]))
 && type_has_mode_precision_p (type)
 && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
 && types_match (captures[2], type)
 && (types_match (captures[2], captures[4])
 || poly_int_tree_p (captures[3]))
)
    {
/* #line 7220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail350;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7221, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[2];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail350:;
	}
      else
	{
	  {
/* #line 7222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail351;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7223, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail351:;
	  }
	}
    }
  else
    {
/* #line 7225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7228 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree arg0 = strip_float_extensions (captures[2]);
 tree arg1 = strip_float_extensions (captures[4]);
 tree itype = TREE_TYPE (captures[0]);
 tree ty1 = TREE_TYPE (arg0);
 tree ty2 = TREE_TYPE (arg1);
 enum tree_code code = TREE_CODE (itype);
/* #line 7234 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7236 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newtype = type;
 if (TYPE_MODE (ty1) == SDmode
 || TYPE_MODE (ty2) == SDmode
 || TYPE_MODE (type) == SDmode)
 newtype = dfloat32_type_node;
 if (TYPE_MODE (ty1) == DDmode
 || TYPE_MODE (ty2) == DDmode
 || TYPE_MODE (type) == DDmode)
 newtype = dfloat64_type_node;
 if (TYPE_MODE (ty1) == TDmode
 || TYPE_MODE (ty2) == TDmode
 || TYPE_MODE (type) == TDmode)
 newtype = dfloat128_type_node;
/* #line 7249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail352;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail352;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail352;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7254, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail352:;
			}
		      else
			{
			  {
/* #line 7255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7280 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (TYPE_PRECISION (newtype) < TYPE_PRECISION (itype)
 && (flag_unsafe_math_optimizations
 || (TYPE_PRECISION (newtype) == TYPE_PRECISION (type)
 && real_can_shorten_arithmetic (TYPE_MODE (itype),
 TYPE_MODE (type))
 && !excess_precision_type (newtype)))
 && !types_match (itype, newtype)
)
				{
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail353;
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail353;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail353;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7287, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail353:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_171 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail354;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1614, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    if (TREE_TYPE (_o2[0]) != type)
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[0] = _r2;
	  }
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    if (TREE_TYPE (_o2[0]) != type)
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, rop, type, res_op0, res_op1);
	return _r;
      }
next_after_fail354:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_172 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
/* #line 4800 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (types_match (from_type, to_type)
 || (TYPE_UNSIGNED (from_type)
 && !TYPE_UNSIGNED (to_type)
 && TYPE_PRECISION (from_type) == TYPE_PRECISION (to_type)
 && integer_zerop (captures[1])
 && (cmp == LT_EXPR || cmp == GE_EXPR))
)
	{
	  {
/* #line 4807 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wi::overflow_type overflow = wi::OVF_NONE;
 enum tree_code code, cmp_code = cmp;
 wide_int real_c1;
 wide_int c1 = wi::to_wide (captures[1]);
 wide_int c2 = wi::to_wide (captures[2]);
 wide_int c3 = wi::to_wide (captures[3]);
 signop sgn = TYPE_SIGN (from_type);
 if (!types_match (from_type, to_type))
 {
 if (cmp_code == LT_EXPR)
 cmp_code = GT_EXPR;
 if (cmp_code == GE_EXPR)
 cmp_code = LE_EXPR;
 c1 = wi::max_value (to_type);
 }
 if (op == PLUS_EXPR)
 real_c1 = wi::sub (c3, c2, sgn, &overflow);
 else
 real_c1 = wi::add (c3, c2, sgn, &overflow);
 code = cmp_code;
 if (!overflow || !TYPE_OVERFLOW_UNDEFINED (from_type))
 {
 if (!wi::cmp (wi::sub (real_c1, 1, sgn, &overflow), c1, sgn)
 && !overflow)
 {
 if (cmp_code == LE_EXPR)
 code = LT_EXPR;
 if (cmp_code == GT_EXPR)
 code = GE_EXPR;
 }
 if (!wi::cmp (wi::add (real_c1, 1, sgn, &overflow), c1, sgn)
 && !overflow)
 {
 if (cmp_code == LT_EXPR)
 code = LE_EXPR;
 if (cmp_code == GE_EXPR)
 code = GT_EXPR;
 }
 if (code != cmp_code || !wi::cmp (real_c1, c1, sgn))
 {
 if (cmp_code == LT_EXPR || cmp_code == LE_EXPR)
 code = MIN_EXPR;
 if (cmp_code == GT_EXPR || cmp_code == GE_EXPR)
 code = MAX_EXPR;
 }
 }
/* #line 4871 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (code == MAX_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail355;
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail355;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail355;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail355;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail355;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4872, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[0];
		      _o1[1] =  wide_int_to_tree (from_type, real_c1);
		      _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    res_op1 =  wide_int_to_tree (from_type, c2);
		    tree _r;
		    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail355:;
		}
	      else
		{
/* #line 4874 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (code == MIN_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail356;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail356;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail356;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail356;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail356;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4875, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[0];
			  _o1[1] =  wide_int_to_tree (from_type, real_c1);
			  _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree res_op1;
			res_op1 =  wide_int_to_tree (from_type, c2);
			tree _r;
			_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail356:;
		    }
		}
	  }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_173 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (rotate))
{
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((element_precision (TREE_TYPE (captures[2]))
 <= element_precision (TREE_TYPE (captures[3]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
 && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
)
    {
      {
/* #line 3983 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree rotate_type = TREE_TYPE (captures[2]);
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail357;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3985, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (TREE_TYPE (_o2[0]) != rotate_type)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail357:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_174 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
 && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail358;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3077, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[1];
		  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail358;
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail358:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_175 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail359;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5724, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (true, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail359:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_176 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail360;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2346, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail360:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_177 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail361;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6485, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail361:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_178 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
)
{
/* #line 8133 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!VECTOR_INTEGER_TYPE_P (type)
 && !FLOAT_WORDS_BIG_ENDIAN
)
    {
      {
/* #line 8135 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 vec_perm_builder builder;
/* #line 8140 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_to_vec_perm_builder (&builder, captures[2])
)
	    {
	      {
/* #line 8141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
 vec_perm_indices sel (builder, 2, nelts);
 machine_mode vec_mode = TYPE_MODE (type);
 machine_mode wide_mode;
 scalar_mode wide_elt_mode;
 poly_uint64 wide_nunits;
 scalar_mode inner_mode = GET_MODE_INNER (vec_mode);
/* #line 8152 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (VECTOR_MODE_P (vec_mode)
 && sel.series_p (0, 2, 0, 2)
 && sel.series_p (1, 2, nelts + 1, 2)
 && GET_MODE_2XWIDER_MODE (inner_mode).exists (&wide_elt_mode)
 && multiple_p (GET_MODE_NUNITS (vec_mode), 2, &wide_nunits)
 && related_vector_mode (vec_mode, wide_elt_mode,
 wide_nunits).exists (&wide_mode)
)
		    {
		      {
/* #line 8159 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype
 = lang_hooks.types.type_for_mode (GET_MODE_INNER (wide_mode),
 TYPE_UNSIGNED (type));
 tree ntype = build_vector_type_for_mode (stype, wide_mode);
 const struct real_format *fmt_old = FLOAT_MODE_FORMAT (vec_mode);
 const struct real_format *fmt_new = FLOAT_MODE_FORMAT (wide_mode);
/* #line 8170 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (TYPE_MODE (stype) != BLKmode
 && VECTOR_TYPE_P (ntype)
 && fmt_old != NULL
 && fmt_new != NULL
)
			    {
			      {
/* #line 8174 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 if (known_eq (GET_MODE_NUNITS (wide_mode), 1)
 && !target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
 ntype = stype;
/* #line 8182 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (fmt_new->signbit_rw
 == fmt_old->signbit_rw + GET_MODE_UNIT_BITSIZE (vec_mode)
 && fmt_new->signbit_rw == fmt_new->signbit_ro
 && targetm.can_change_mode_class (TYPE_MODE (ntype), TYPE_MODE (type), ALL_REGS)
 && ((optimize_vectors_before_lowering_p () && VECTOR_TYPE_P (ntype))
 || target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail362;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8188, __FILE__, __LINE__);
				      {
					tree res_op0;
					{
					  tree _o1[1], _r1;
					  {
					    tree _o2[1], _r2;
					    {
					      tree _o3[1], _r3;
					      _o3[0] = captures[1];
					      _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o3[0]);
					      _o2[0] = _r3;
					    }
					    _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
					    _o1[0] = _r2;
					  }
					  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
					  res_op0 = _r1;
					}
					tree res_op1;
					res_op1 = captures[0];
					tree _r;
					_r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
					if (TREE_SIDE_EFFECTS (captures[2]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					return _r;
				      }
next_after_fail362:;
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_179 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail363;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7577, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail363;
	return _r;
      }
next_after_fail363:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_180 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2838 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2840 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t1 = type;
 if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
 t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail364;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2847, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    if (TREE_TYPE (_o2[0]) != t1)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[1];
		    if (TREE_TYPE (_o2[0]) != t1)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail364:;
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_181 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5549 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 format_helper fmt (REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0]))));
 tree type1 = TREE_TYPE (captures[1]);
 bool type1_signed_p = TYPE_SIGN (type1) == SIGNED;
 tree type2 = TREE_TYPE (captures[2]);
 bool type2_signed_p = TYPE_SIGN (type2) == SIGNED;
/* #line 5557 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (fmt.can_represent_integral_type_p (type1)
 && fmt.can_represent_integral_type_p (type2)
)
	    {
/* #line 5559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == ORDERED_EXPR || cmp == UNORDERED_EXPR
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail365;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5560, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (cmp == ORDERED_EXPR, type);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail365:;
		}
	      else
		{
/* #line 5561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (TYPE_PRECISION (type1) > TYPE_PRECISION (type2)
 && type1_signed_p >= type2_signed_p
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail366;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5563, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree res_op1;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail366:;
		    }
		  else
		    {
/* #line 5564 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (TYPE_PRECISION (type1) < TYPE_PRECISION (type2)
 && type1_signed_p <= type2_signed_p
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail367;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5566, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      if (TREE_TYPE (_o1[0]) != type2)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, type2, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    res_op1 = captures[2];
			    tree _r;
			    _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail367:;
			}
		      else
			{
/* #line 5567 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (TYPE_PRECISION (type1) == TYPE_PRECISION (type2)
 && type1_signed_p == type2_signed_p
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail368;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5569, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree res_op1;
				res_op1 = captures[2];
				tree _r;
				_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail368:;
			    }
			}
		    }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_182 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail369;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail369;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5997, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    tree _r;
    _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    return _r;
  }
next_after_fail369:;
  return NULL_TREE;
}

static tree
generic_simplify_183 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail370;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1931, __FILE__, __LINE__);
  {
    tree _r;
    _r =  constant_boolean_node (op == NE_EXPR ? true : false, type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail370:;
  return NULL_TREE;
}

static tree
generic_simplify_184 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (bswap))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail371;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4351, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    return _r;
  }
next_after_fail371:;
  return NULL_TREE;
}

static tree
generic_simplify_185 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 1784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && wi::to_wide (captures[1]) == element_precision (type) - 1
)
    {
      {
/* #line 1786 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = TREE_TYPE (captures[0]);
 tree ntype = TYPE_UNSIGNED (stype) ? signed_type_for (stype)
 : unsigned_type_for (stype);
/* #line 1789 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail372;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1790, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o2[0]);
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail372:;
	    }
	  else
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail373;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1791, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    if (TREE_TYPE (_o2[0]) != ntype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail373:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_186 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const combined_fn ARG_UNUSED (bswap))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail374;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4355, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[1];
      _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
      if (!_r1)
        goto next_after_fail374;
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    return _r;
  }
next_after_fail374:;
  return NULL_TREE;
}

static tree
generic_simplify_187 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 2186 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) > 1
 && (wi::to_wide (captures[2])
 == wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[0])), SIGNED) - 1)
)
    {
      {
/* #line 2191 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[0]));
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail375;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2192, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      if (TREE_TYPE (_o1[0]) != stype)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 =  build_int_cst (stype, 0);
	    tree _r;
	    _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail375:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_188 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5644 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
/* #line 5645 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (wi::to_wide (captures[2]) == 0
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail376;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5646, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail376:;
	}
      else
	{
/* #line 5647 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[1]) == INTEGER_CST
)
	    {
	      {
/* #line 5648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wi::overflow_type ovf;
 wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
 TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
/* #line 5654 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (ovf
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail377;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail377;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail377;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5655, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (cmp == NE_EXPR, type);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			return _r;
		      }
next_after_fail377:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail378;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail378;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail378;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5656, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
			tree _r;
			_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail378:;
		    }
	      }
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_189 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 8096 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int i = single_nonzero_element (captures[1]);
/* #line 8097 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (i >= 0
)
	{
	  {
/* #line 8098 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree elt = vector_cst_elt (captures[1], i);
 tree elt_type = TREE_TYPE (elt);
 unsigned int elt_bits = tree_to_uhwi (TYPE_SIZE (elt_type));
 tree size = bitsize_int (elt_bits);
 tree pos = bitsize_int (elt_bits * i);
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail379;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail379;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8103, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[3], _r2;
		    _o2[0] = captures[0];
		    _o2[1] =  size;
		    _o2[2] =  pos;
		    _r2 = fold_build3_loc (loc, BIT_FIELD_REF, elt_type, _o2[0], _o2[1], _o2[2]);
		    _o1[0] = _r2;
		  }
		  _o1[1] =  elt;
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, elt_type, _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail379:;
	  }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_190 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (maxmin))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail380;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3553, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[3];
      _r1 = fold_build2_loc (loc, maxmin, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree _r;
    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    return _r;
  }
next_after_fail380:;
  return NULL_TREE;
}

static tree
generic_simplify_191 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3811 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_fits_shwi_p (captures[3])
 && tree_to_shwi (captures[3]) > 0
 && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
)
    {
/* #line 3814 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tree_to_shwi (captures[3]) > wi::ctz (wi::to_wide (captures[5]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail381;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3815, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r =  constant_boolean_node (cmp == NE_EXPR, type);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    if (TREE_SIDE_EFFECTS (captures[3]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
	    if (TREE_SIDE_EFFECTS (captures[4]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
	    if (TREE_SIDE_EFFECTS (captures[5]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
	    return _r;
	  }
next_after_fail381:;
	}
      else
	{
	  {
/* #line 3816 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wide_int c1 = wi::to_wide (captures[3]);
 wide_int c2 = wi::lrshift (wi::to_wide (captures[4]), c1);
 wide_int c3 = wi::lrshift (wi::to_wide (captures[5]), c1);
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail382;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail382;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail382;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail382;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3819, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), c2);
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 =  wide_int_to_tree (TREE_TYPE (captures[2]), c3);
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail382:;
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_192 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3958 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3959 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail383;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail383;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail383;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3960, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o2[0]) != type)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 =  mask;
		tree _r;
		_r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail383:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_193 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ocmp))
{
/* #line 2412 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TREE_CODE (TREE_TYPE (captures[0])) != COMPLEX_TYPE
 && (VECTOR_TYPE_P (type) || !VECTOR_TYPE_P (TREE_TYPE (captures[0])))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail384;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail384;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2416, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, ocmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail384:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_194 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
 && tree_fits_uhwi_p (captures[4])
 && tree_to_uhwi (captures[4]) > 0
 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
)
    {
      {
/* #line 3864 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR)
 zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR
 && type_has_mode_precision_p (shift_type))
 {
 prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
 tree arg00 = captures[3];
 if (captures[2] != captures[3]
 && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
 {
 tree inner_type = TREE_TYPE (captures[3]);
 if (type_has_mode_precision_p (inner_type)
 && TYPE_PRECISION (inner_type) < prec)
 {
 prec = TYPE_PRECISION (inner_type);
 if (shiftc < prec)
 shift_type = inner_type;
 }
 }
 zerobits = HOST_WIDE_INT_M1U;
 if (shiftc < prec)
 {
 zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
 zerobits <<= prec - shiftc;
 }
 if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
 {
 if ((mask & zerobits) == 0)
 shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
 else
 zerobits = 0;
 }
 }
/* #line 3918 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail385;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail385;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail385;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail385;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail385;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3919, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail385:;
	    }
	  else
	    {
	      {
/* #line 3920 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3921 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3922 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
 if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
 break;
/* #line 3931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3933 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3935 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3936 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail386;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail386;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail386;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3937, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (TREE_TYPE (_o3[0]) != shift_type)
						    {
						      _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						_r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      if (TREE_TYPE (_o1[0]) != type)
						{
						  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						}
					      else
					        _r1 = _o1[0];
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail386:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail387;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail387;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail387;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 = captures[0];
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail387:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_195 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 382 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
 && (!VECTOR_TYPE_P (type)
 || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
 || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
 && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
 || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
 && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 || (element_precision (type)
 == element_precision (TREE_TYPE (captures[2])))
 || (INTEGRAL_TYPE_P (type)
 && (tree_nonzero_bits (captures[0])
 & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
 true,
 element_precision (type))) == 0))))
)
    {
/* #line 396 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!VECTOR_TYPE_P (type)
 && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
 && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail388;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 399, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[1];
	      _o1[1] = captures[3];
	      _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail388:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail389;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail389;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 400, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[3];
	    tree _r;
	    _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail389:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_196 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! tree_expr_maybe_nan_p (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail390;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5247, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (true, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail390:;
    }
  else
    {
/* #line 5248 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (cmp != EQ_EXPR
 && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! flag_trapping_math)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail391;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5252, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = unshare_expr (captures[0]);
	    tree res_op1;
	    res_op1 = captures[0];
	    tree _r;
	    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail391:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_197 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 737 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && wi::multiple_of_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (type))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail392;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 741, __FILE__, __LINE__);
      {
	tree _r;
	_r =  build_zero_cst (type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail392:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_198 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail393;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail393;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1422, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail393:;
  return NULL_TREE;
}

static tree
generic_simplify_199 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2330 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail394;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2332, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[2];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail394:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_200 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && tree_fits_uhwi_p (captures[3])
 && tree_fits_uhwi_p (captures[4])
)
    {
      {
/* #line 4372 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
 unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[3]);
 unsigned HOST_WIDE_INT mask = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT lo = bits & 7;
 unsigned HOST_WIDE_INT hi = bits - lo;
/* #line 4380 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (bits < prec
 && mask < (256u>>lo)
 && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
)
	    {
	      {
/* #line 4383 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
/* #line 4384 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (ns == 0
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail395;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail395;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail395;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4385, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  if (TREE_TYPE (_o1[0]) != type)
			    {
			      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			    }
			  else
			    _r1 = _o1[0];
			  res_op0 = _r1;
			}
			tree res_op1;
			res_op1 = captures[4];
			tree _r;
			_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail395:;
		    }
		  else
		    {
		      {
/* #line 4386 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
 tree nst = build_int_cst (integer_type_node, ns);
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail396;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail396;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail396;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4391, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				{
				  tree _o3[1], _r3;
				  _o3[0] = captures[2];
				  if (TREE_TYPE (_o3[0]) != utype)
				    {
				      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
				    }
				  else
				    _r3 = _o3[0];
				  _o2[0] = _r3;
				}
				_o2[1] = nst;
				_r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      if (TREE_TYPE (_o1[0]) != type)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    res_op1 = captures[4];
			    tree _r;
			    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail396:;
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_201 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1634 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail397;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail397;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1635, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail397:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail398;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail398;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1637, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[4];
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail398:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_202 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_WRAPS (type)
 && !TYPE_SATURATING (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail399;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1022, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail399:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_203 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree from_type = TREE_TYPE (captures[0]);
 tree c1_type = TREE_TYPE (captures[1]), c2_type = TREE_TYPE (captures[2]);
 enum tree_code code = ERROR_MARK;
 if (INTEGRAL_TYPE_P (from_type)
 && int_fits_type_p (captures[2], from_type)
 && (types_match (c1_type, from_type)
 || (TYPE_PRECISION (c1_type) > TYPE_PRECISION (from_type)
 && (TYPE_UNSIGNED (from_type)
 || TYPE_SIGN (c1_type) == TYPE_SIGN (from_type))))
 && (types_match (c2_type, from_type)
 || (TYPE_PRECISION (c2_type) > TYPE_PRECISION (from_type)
 && (TYPE_UNSIGNED (from_type)
 || TYPE_SIGN (c2_type) == TYPE_SIGN (from_type)))))
 {
 if (cmp != EQ_EXPR)
 {
 if (wi::to_widest (captures[1]) == (wi::to_widest (captures[2]) - 1))
 {
 if (cmp == LE_EXPR)
 code = LT_EXPR;
 if (cmp == GT_EXPR)
 code = GE_EXPR;
 }
 if (wi::to_widest (captures[1]) == (wi::to_widest (captures[2]) + 1))
 {
 if (cmp == LT_EXPR)
 code = LE_EXPR;
 if (cmp == GE_EXPR)
 code = GT_EXPR;
 }
 if (code != ERROR_MARK
 || wi::to_widest (captures[2]) == wi::to_widest (captures[1]))
 {
 if (cmp == LT_EXPR || cmp == LE_EXPR)
 code = MIN_EXPR;
 if (cmp == GT_EXPR || cmp == GE_EXPR)
 code = MAX_EXPR;
 }
 }
 else if (int_fits_type_p (captures[1], from_type))
 code = EQ_EXPR;
 }
/* #line 4767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (code == MAX_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail400;
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail400;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail400;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail400;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4768, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[0];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[2];
		if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail400:;
	}
      else
	{
/* #line 4769 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (code == MIN_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail401;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail401;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail401;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail401;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4770, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail401:;
	    }
	  else
	    {
/* #line 4771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (code == EQ_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail402;
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail402;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail402;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail402;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4772, __FILE__, __LINE__);
		  {
		    if (! tree_invariant_p (captures[1])) goto next_after_fail402;
		    tree res_op0;
		    {
		      tree _o1[3], _r1;
		      {
			tree _o2[2], _r2;
			_o2[0] = captures[0];
			{
			  tree _o3[1], _r3;
			  _o3[0] = unshare_expr (captures[1]);
			  if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
			    {
			      _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
			    }
			  else
			    _r3 = _o3[0];
			  _o2[1] = _r3;
			}
			_r2 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o2[0], _o2[1]);
			_o1[0] = _r2;
		      }
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			if (TREE_TYPE (_o2[0]) != from_type)
			  {
			    _r2 = fold_build1_loc (loc, NOP_EXPR, from_type, _o2[0]);
			  }
			else
			  _r2 = _o2[0];
			_o1[1] = _r2;
		      }
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[2];
			if (TREE_TYPE (_o2[0]) != from_type)
			  {
			    _r2 = fold_build1_loc (loc, NOP_EXPR, from_type, _o2[0]);
			  }
			else
			  _r2 = _o2[0];
			_o1[2] = _r2;
		      }
		      _r1 = fold_build3_loc (loc, COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail402:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_204 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 4291 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TREE_CODE (captures[3]) != INTEGER_CST
 && single_use (captures[0])
 && !integer_zerop (captures[2]) && !integer_minus_onep (captures[2])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail403;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4294, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail403:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_205 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 339 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail404;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 340, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, COPYSIGN_ALL, type, 2, res_op0, res_op1);
	if (!_r)
	  goto next_after_fail404;
	return _r;
      }
next_after_fail404:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_206 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 4226 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_TYPE
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail405;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4227, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail405:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_207 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail406;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail406;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 334, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	return _r;
      }
next_after_fail406:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_208 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6361 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail407;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail407;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6363, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	return _r;
      }
next_after_fail407:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_209 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (minmax))
{
/* #line 3511 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && types_match (captures[1], type) && int_fits_type_p (captures[2], type)
 && TYPE_SIGN (TREE_TYPE (captures[0])) == TYPE_SIGN (type)
 && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail408;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3515, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
	return _r;
      }
next_after_fail408:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_210 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
 && canonicalize_math_after_vectorization_p ()
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail409;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail409;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail409;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1984, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[3];
	tree res_op2;
	res_op2 = captures[5];
	tree _r;
	_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	return _r;
      }
next_after_fail409:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_211 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (comb))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail410;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3589, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[2])) goto next_after_fail410;
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      _o1[1] = unshare_expr (captures[2]);
      _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, comb, type, res_op0, res_op1);
    return _r;
  }
next_after_fail410:;
  return NULL_TREE;
}

static tree
generic_simplify_212 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POW))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail411;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6759, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail411:;
  return NULL_TREE;
}

static tree
generic_simplify_213 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail412;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail412;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6371, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	return _r;
      }
next_after_fail412:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_214 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (cmp2), const enum tree_code ARG_UNUSED (cmp3), const enum tree_code ARG_UNUSED (bit_op), const combined_fn ARG_UNUSED (ffs))
{
  {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7892 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (integer_zerop (captures[2])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail413;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7893, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	    tree _r;
	    _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail413:;
	}
      else
	{
/* #line 7894 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail414;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7895, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == GT_EXPR ? true : false, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail414:;
	    }
	  else
	    {
/* #line 7896 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (wi::to_widest (captures[2]) >= prec
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail415;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7897, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (cmp == GT_EXPR ? false : true, type);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail415:;
		}
	      else
		{
/* #line 7898 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (wi::to_widest (captures[2]) == prec - 1
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail416;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7899, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree res_op1;
			res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
 wi::shifted_mask (prec - 1, 1,
 false, prec));
			tree _r;
			_r = fold_build2_loc (loc, cmp3, type, res_op0, res_op1);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail416:;
		    }
		  else
		    {
/* #line 7902 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (single_use (captures[0])
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail417;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail417;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7903, __FILE__, __LINE__);
			  {
			    if (! tree_invariant_p (captures[1])) goto next_after_fail417;
			    tree res_op0;
			    {
			      tree _o1[2], _r1;
			      _o1[0] = unshare_expr (captures[1]);
			      _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
			      _r1 = fold_build2_loc (loc, cmp2, type, _o1[0], _o1[1]);
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    {
			      tree _o1[2], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[1];
				_o2[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
 wi::mask (tree_to_uhwi (captures[2]),
 false, prec));
				_r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
			      _r1 = fold_build2_loc (loc, cmp3, type, _o1[0], _o1[1]);
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail417:;
			}
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_215 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail418;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1861, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    return _r;
  }
next_after_fail418:;
  return NULL_TREE;
}

static tree
generic_simplify_216 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
 bool val;
 switch (code2)
 {
 case EQ_EXPR: val = (cmp == 0); break;
 case NE_EXPR: val = (cmp != 0); break;
 case LT_EXPR: val = (cmp < 0); break;
 case GT_EXPR: val = (cmp > 0); break;
 case LE_EXPR: val = (cmp <= 0); break;
 case GE_EXPR: val = (cmp >= 0); break;
 default: gcc_unreachable ();
 }
/* #line 2721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail419;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail419;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail419;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2721, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail419:;
	}
      else
	{
/* #line 2722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail420;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail420;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail420;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2722, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (false, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail420:;
	    }
	  else
	    {
/* #line 2723 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail421;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail421;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail421;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2723, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail421:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_217 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 5883 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 off; tree base;
 tree addr = (TREE_CODE (captures[0]) == SSA_NAME
 ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
/* #line 5891 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (SSA_NAME_IS_DEFAULT_DEF (captures[1])
 && TREE_CODE (SSA_NAME_VAR (captures[1])) == PARM_DECL
 && (base = get_base_address (TREE_OPERAND (addr, 0)))
 && TREE_CODE (base) == VAR_DECL
 && auto_var_in_fn_p (base, current_function_decl)
)
	{
/* #line 5896 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail422;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail422;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5897, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (true, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail422:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail423;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail423;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5898, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (false, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail423:;
	    }
	}
      else
	{
/* #line 5900 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((base = get_addr_base_and_unit_offset (TREE_OPERAND (addr, 0), &off))
 && TREE_CODE (base) == MEM_REF
 && TREE_OPERAND (base, 0) == captures[1]
)
	    {
	      {
/* #line 5903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 off += mem_ref_offset (base).force_shwi ();
/* #line 5904 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_ne (off, 0)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail424;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail424;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5905, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (cmp == NE_EXPR, type);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			return _r;
		      }
next_after_fail424:;
		    }
		  else
		    {
/* #line 5906 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (known_eq (off, 0)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail425;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail425;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5907, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (cmp == EQ_EXPR, type);
			    if (TREE_SIDE_EFFECTS (captures[1]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			    return _r;
			  }
next_after_fail425:;
			}
		    }
	      }
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_218 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5660 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
)
    {
      {
/* #line 5661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wi::overflow_type ovf;
 wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
 TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
/* #line 5667 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ovf
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail426;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail426;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail426;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5668, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (wi::lt_p (wi::to_wide (captures[2]), 0,
 TYPE_SIGN (TREE_TYPE (captures[2])))
 != (cmp == LT_EXPR || cmp == LE_EXPR), type);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail426:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail427;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail427;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail427;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5671, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail427:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_219 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6361 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail428;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail428;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6363, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	return _r;
      }
next_after_fail428:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_220 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2737 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2739 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail429;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail429;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail429;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2740, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[0];
		return _r;
	      }
next_after_fail429:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail430;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail430;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail430;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2741, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[3];
		return _r;
	      }
next_after_fail430:;
	    }
	}
      else
	{
/* #line 2743 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2745 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail431;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail431;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail431;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2746, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail431:;
		}
	      else
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail432;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail432;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail432;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2747, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail432:;
		}
	    }
	  else
	    {
/* #line 2749 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == 0
 && ((code1 == LE_EXPR && code2 == GE_EXPR)
 || (code1 == GE_EXPR && code2 == LE_EXPR))
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail433;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail433;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail433;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2752, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[2];
		    tree _r;
		    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail433:;
		}
	      else
		{
/* #line 2754 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp <= 0
 && (code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail434;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail434;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail434;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2757, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (false, type);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			return _r;
		      }
next_after_fail434:;
		    }
		  else
		    {
/* #line 2758 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp >= 0
 && (code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail435;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail435;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail435;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2761, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (false, type);
			    if (TREE_SIDE_EFFECTS (captures[1]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			    return _r;
			  }
next_after_fail435:;
			}
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_221 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[1]);
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail436;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4364, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != ctype)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
	  if (!_r1)
	    goto next_after_fail436;
	  if (EXPR_P (_r1))
	    goto next_after_fail436;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail436:;
  }
  return NULL_TREE;
}

static tree
generic_simplify_222 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 3669 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail437;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3671, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] =  build_minus_one_cst (type);
	  _o1[1] = captures[1];
	  _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail437:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_223 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6863 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail438;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6864, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[2];
	      _o1[1] =  build_one_cst (type);
	      _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
	    if (!_r)
	      goto next_after_fail438;
	    return _r;
	  }
next_after_fail438:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_224 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7301 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && type_has_mode_precision_p (TREE_TYPE (captures[2]))
 && type_has_mode_precision_p (TREE_TYPE (captures[4]))
 && type_has_mode_precision_p (type)
 && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
 && types_match (captures[2], captures[4])
 && (tree_int_cst_min_precision (captures[5], TYPE_SIGN (TREE_TYPE (captures[2])))
 <= TYPE_PRECISION (TREE_TYPE (captures[2])))
 && (wi::to_wide (captures[5])
 & wi::mask (TYPE_PRECISION (TREE_TYPE (captures[2])),
 true, TYPE_PRECISION (type))) == 0
)
    {
/* #line 7320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  {
/* #line 7321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree ntype = TREE_TYPE (captures[2]);
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail439;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7322, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[2];
		    _o2[1] = captures[4];
		    _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[5];
		    if (TREE_TYPE (_o2[0]) != ntype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail439:;
	  }
	}
      else
	{
	  {
/* #line 7323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail440;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7324, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[2], _r2;
		    {
		      tree _o3[1], _r3;
		      _o3[0] = captures[2];
		      if (TREE_TYPE (_o3[0]) != utype)
			{
			  _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
			}
		      else
		        _r3 = _o3[0];
		      _o2[0] = _r3;
		    }
		    {
		      tree _o3[1], _r3;
		      _o3[0] = captures[4];
		      if (TREE_TYPE (_o3[0]) != utype)
			{
			  _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
			}
		      else
		        _r3 = _o3[0];
		      _o2[1] = _r3;
		    }
		    _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[5];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail440:;
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_225 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 3965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 && (element_precision (TREE_TYPE (captures[2]))
 <= element_precision (TREE_TYPE (captures[3]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
)
    {
      {
/* #line 3969 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree shift_type = TREE_TYPE (captures[2]);
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail441;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3971, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (TREE_TYPE (_o2[0]) != shift_type)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail441:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_226 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail442;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5278, __FILE__, __LINE__);
  {
    tree _r;
    _r =  constant_boolean_node (cmp == NE_EXPR, type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail442:;
  return NULL_TREE;
}

static tree
generic_simplify_227 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (TAN))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail443;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6829, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 =  build_one_cst (type);
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  _r1 = maybe_build_call_expr_loc (loc, TAN, TREE_TYPE (_o1[0]), 1, _o1[0]);
	  if (!_r1)
	    goto next_after_fail443;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail443:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_228 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3088 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail444;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail444;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3089, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail444:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_229 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail445;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2126, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[0];
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail445:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_230 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail446;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7591, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail446;
	return _r;
      }
next_after_fail446:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_231 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[5]);
/* #line 8002 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (inverse_conditions_p (captures[0], captures[2])
 && element_precision (type) == element_precision (op_type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail447;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8004, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[4], _r1;
	      _o1[0] = captures[2];
	      _o1[1] = captures[3];
	      _o1[2] = captures[4];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
		_o1[3] = _r2;
	      }
	      _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 4, _o1[0], _o1[1], _o1[2], _o1[3]);
	      if (!_r1)
	        goto next_after_fail447;
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    if (TREE_SIDE_EFFECTS (captures[5]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
	    return _r;
	  }
next_after_fail447:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_232 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail448;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1866, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[4];
      _o1[1] = captures[3];
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail448:;
  return NULL_TREE;
}

static tree
generic_simplify_233 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 786 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail449;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail449;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 787, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = unshare_expr (captures[1]);
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[4];
	  _o1[1] = captures[1];
	  _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail449:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_234 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail450;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail450;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 328, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	return _r;
      }
next_after_fail450:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_235 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (mod))
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail451;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail451;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 733, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail451:;
  return NULL_TREE;
}

static tree
generic_simplify_236 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail452;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail452;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5714, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail452:;
  return NULL_TREE;
}

static tree
generic_simplify_237 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int cand = wi::ctz (wi::to_wide (captures[2])) - wi::ctz (wi::to_wide (captures[0]));
/* #line 3798 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (cand < 0
 || (!integer_zerop (captures[2])
 && wi::lshift (wi::to_wide (captures[0]), cand) != wi::to_wide (captures[2]))
)
	{
	  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail453;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail453;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail453;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3801, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r =  constant_boolean_node (cmp == NE_EXPR, type);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail453:;
	}
      else
	{
/* #line 3802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!integer_zerop (captures[2])
 && wi::lshift (wi::to_wide (captures[0]), cand) == wi::to_wide (captures[2])
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail454;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail454;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail454;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3804, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  build_int_cst (TREE_TYPE (captures[1]), cand);
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail454:;
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_238 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail455;
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail455;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail455;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2666, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail455:;
  return NULL_TREE;
}

static tree
generic_simplify_239 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (SIN))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail456;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6803, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, SIN, type, 1, res_op0);
	if (!_r)
	  goto next_after_fail456;
	return _r;
      }
next_after_fail456:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_240 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (bswap))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail457;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4348, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail457:;
  return NULL_TREE;
}

static tree
generic_simplify_241 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && ssa_name_has_boolean_range (captures[1])
 && !flag_non_call_exceptions
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail458;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 423, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail458:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_242 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail459;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2927, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[2];
	    tree res_op1;
	    res_op1 = captures[1];
	    tree _r;
	    _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail459:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_243 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail460;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail460;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail460;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2014, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[4];
	tree res_op2;
	res_op2 = captures[7];
	tree _r;
	_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
	return _r;
      }
next_after_fail460:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_244 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && !integer_zerop (captures[0])
 && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail461;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 440, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] =  build_zero_cst (type);
	  _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_minus_one_cst (type);
	tree res_op2;
	res_op2 =  build_one_cst (type);
	tree _r;
	_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	return _r;
      }
next_after_fail461:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_245 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail462;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5263, __FILE__, __LINE__);
  {
    tree _r;
    _r =  constant_boolean_node (true, type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail462:;
  return NULL_TREE;
}

static tree
generic_simplify_246 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (COS))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6834 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[1])
 && ! HONOR_INFINITIES (captures[1])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail463;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6836, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, COS, type, 1, res_op0);
	    if (!_r)
	      goto next_after_fail463;
	    return _r;
	  }
next_after_fail463:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_247 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail464;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail464;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1195, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail464:;
  return NULL_TREE;
}

static tree
generic_simplify_248 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail465;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7605, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail465;
	return _r;
      }
next_after_fail465:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_249 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail466;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2918, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail466:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_250 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && wi::only_sign_bit_p (wi::to_wide (captures[1]))
)
    {
      {
/* #line 2287 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail467;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2288, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      if (TREE_TYPE (_o1[0]) != stype)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      if (TREE_TYPE (_o1[0]) != stype)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail467:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_251 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1153 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (~wi::to_wide (captures[1]) == wi::to_wide (captures[2])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail468;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1154, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail468:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_252 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5916 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3])) != 0
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail469;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5918, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == NE_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	if (TREE_SIDE_EFFECTS (captures[3]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
	return _r;
      }
next_after_fail469:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_253 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2077 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail470;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail470;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2079, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail470:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_254 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && op != MULT_EXPR
 && op != RDIV_EXPR
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && type_has_mode_precision_p (TREE_TYPE (captures[2]))
 && type_has_mode_precision_p (TREE_TYPE (captures[4]))
 && type_has_mode_precision_p (type)
 && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
 && types_match (captures[2], type)
 && (types_match (captures[2], captures[4])
 || poly_int_tree_p (captures[3]))
)
    {
/* #line 7220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail471;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7221, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[2];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail471:;
	}
      else
	{
	  {
/* #line 7222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail472;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7223, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail472:;
	  }
	}
    }
  else
    {
/* #line 7225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7228 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree arg0 = strip_float_extensions (captures[2]);
 tree arg1 = strip_float_extensions (captures[4]);
 tree itype = TREE_TYPE (captures[0]);
 tree ty1 = TREE_TYPE (arg0);
 tree ty2 = TREE_TYPE (arg1);
 enum tree_code code = TREE_CODE (itype);
/* #line 7234 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7236 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newtype = type;
 if (TYPE_MODE (ty1) == SDmode
 || TYPE_MODE (ty2) == SDmode
 || TYPE_MODE (type) == SDmode)
 newtype = dfloat32_type_node;
 if (TYPE_MODE (ty1) == DDmode
 || TYPE_MODE (ty2) == DDmode
 || TYPE_MODE (type) == DDmode)
 newtype = dfloat64_type_node;
 if (TYPE_MODE (ty1) == TDmode
 || TYPE_MODE (ty2) == TDmode
 || TYPE_MODE (type) == TDmode)
 newtype = dfloat128_type_node;
/* #line 7249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail473;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail473;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail473;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7254, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail473:;
			}
		      else
			{
			  {
/* #line 7255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7280 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (TYPE_PRECISION (newtype) < TYPE_PRECISION (itype)
 && (flag_unsafe_math_optimizations
 || (TYPE_PRECISION (newtype) == TYPE_PRECISION (type)
 && real_can_shorten_arithmetic (TYPE_MODE (itype),
 TYPE_MODE (type))
 && !excess_precision_type (newtype)))
 && !types_match (itype, newtype)
)
				{
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail474;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail474;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail474;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7287, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail474:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_255 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2093 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail475;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2094, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[1];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail475:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_256 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shift), const enum tree_code ARG_UNUSED (mod))
{
/* #line 805 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail476;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail476;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 806, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  {
	    tree _o2[2], _r2;
	    _o2[0] = captures[2];
	    _o2[1] =  build_int_cst (TREE_TYPE (captures[2]),
 1);
	    _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, shift, type, res_op0, res_op1);
	return _r;
      }
next_after_fail476:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_257 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (plusminus))
{
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3266 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 3292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
 || (INTEGRAL_TYPE_P (type)
 && ((tree_expr_nonzero_p (captures[1])
 && (plusminus == MINUS_EXPR
 || expr_not_equal_to (captures[1],
 wi::minus_one (TYPE_PRECISION (type)))))
 || expr_not_equal_to (captures[2],
 (plusminus == PLUS_EXPR
 ? wi::max_value (TYPE_PRECISION (type), SIGNED)
 : wi::min_value (TYPE_PRECISION (type), SIGNED))))))
 && single_use (captures[0])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail477;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3308, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] =  build_one_cst (type);
		  _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail477:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_258 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[3]);
/* #line 7997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail478;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7998, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[4], _r1;
	      _o1[0] = captures[0];
	      _o1[1] = captures[1];
	      _o1[2] = captures[2];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[4];
		_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
		_o1[3] = _r2;
	      }
	      _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 4, _o1[0], _o1[1], _o1[2], _o1[3]);
	      if (!_r1)
	        goto next_after_fail478;
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[3]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
	    return _r;
	  }
next_after_fail478:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_259 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (fns))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail479;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6749, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail479:;
  return NULL_TREE;
}

static tree
generic_simplify_260 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 614 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
/* #line 618 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (types_match (type, float_type_node)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail480;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 619, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 =  build_one_cst (type);
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNF, type, 2, res_op0, res_op1);
	    if (!_r)
	      goto next_after_fail480;
	    return _r;
	  }
next_after_fail480:;
	}
      else
	{
/* #line 620 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (types_match (type, double_type_node)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail481;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 621, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 =  build_one_cst (type);
		tree res_op1;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op1 = _r1;
		}
		tree _r;
		_r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGN, type, 2, res_op0, res_op1);
		if (!_r)
		  goto next_after_fail481;
		return _r;
	      }
next_after_fail481:;
	    }
	  else
	    {
/* #line 622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (types_match (type, long_double_type_node)
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail482;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 623, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 =  build_one_cst (type);
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[0];
		      if (TREE_TYPE (_o1[0]) != type)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNL, type, 2, res_op0, res_op1);
		    if (!_r)
		      goto next_after_fail482;
		    return _r;
		  }
next_after_fail482:;
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_261 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (SIGNBIT))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail483;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7341, __FILE__, __LINE__);
  {
    tree _r;
    _r =  integer_zero_node;
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail483:;
  return NULL_TREE;
}

static tree
generic_simplify_262 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail484;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1626, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    if (TREE_SIDE_EFFECTS (captures[2]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    return _r;
  }
next_after_fail484:;
  return NULL_TREE;
}

static tree
generic_simplify_263 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3958 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3959 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail485;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail485;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail485;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3960, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o2[0]) != type)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 =  mask;
		tree _r;
		_r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail485:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_264 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2597 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 2599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int align;
 unsigned HOST_WIDE_INT bitpos;
 get_pointer_alignment_1 (captures[0], &align, &bitpos);
/* #line 2605 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (wi::ltu_p (wi::to_wide (captures[1]), align / BITS_PER_UNIT)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail486;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail486;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail486;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2606, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  wide_int_to_tree (type, (wi::to_wide (captures[1])
 & (bitpos / BITS_PER_UNIT)));
		return _r;
	      }
next_after_fail486:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_265 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail487;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6848, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  _o1[1] = captures[4];
	  _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
	if (!_r)
	  goto next_after_fail487;
	return _r;
      }
next_after_fail487:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail488;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail488;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2638, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (false, type);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail488:;
    }
  else
    {
/* #line 2639 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail489;
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail489;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail489;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2640, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail489:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_267 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 off0, off1;
 tree base0, base1;
 int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
 off0, off1,
1
);
/* #line 3495 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3496 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3497 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail490;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail490;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail490;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3498, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail490:;
		}
	      else
		{
/* #line 3499 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail491;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail491;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail491;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3500, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail491:;
		    }
		}
	    }
	  else
	    {
/* #line 3501 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail492;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail492;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail492;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3502, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail492:;
		}
	      else
		{
/* #line 3503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail493;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail493;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail493;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3504, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail493:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_268 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
    {
/* #line 2175 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail494;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2176, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail494:;
	}
      else
	{
/* #line 2177 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[1]) == INTEGER_CST
 && wi::neg_p (wi::to_wide (captures[1]), TYPE_SIGN (TREE_TYPE (captures[1])))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail495;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2179, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		res_op1 = captures[0];
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail495:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_269 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail496;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail496;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2651, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail496:;
  return NULL_TREE;
}

static tree
generic_simplify_270 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1297 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail497;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1298, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == GT_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail497:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_271 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 5379 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (op == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR,
 TREE_TYPE (captures[1]), captures[2], captures[1]);
/* #line 5384 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail498;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail498;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail498;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5385, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 =  tem;
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail498:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_272 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail499;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail499;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3705, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = non_lvalue_loc (loc, res_op0);
    return _r;
  }
next_after_fail499:;
  return NULL_TREE;
}

static tree
generic_simplify_273 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5391 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_associative_math
)
    {
      {
/* #line 5394 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
/* #line 5395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail500;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail500;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail500;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5396, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 =  tem;
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail500:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_274 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (coss), const combined_fn ARG_UNUSED (copysigns))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail501;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 931, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = maybe_build_call_expr_loc (loc, coss, type, 1, res_op0);
    if (!_r)
      goto next_after_fail501;
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail501:;
  return NULL_TREE;
}

static tree
generic_simplify_275 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 3607 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
0
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail502;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3609, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (TREE_TYPE (_o1[0]) != boolean_type_node)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[0];
	tree _r;
	_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	return _r;
      }
next_after_fail502:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_276 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree pmop[2];
 tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], ERROR_MARK,
 NULL_TREE, NULL_TREE, captures[2], bitop, captures[3],
 captures[4], pmop);
/* #line 1261 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail503;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail503;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail503;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail503;
	  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail503;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail503;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1262, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[1];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[1] = _r3;
		}
		_r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[5];
		if (TREE_TYPE (_o2[0]) != utype)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail503:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_277 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail504;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail504;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2638, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (false, type);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail504:;
    }
  else
    {
/* #line 2639 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail505;
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail505;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail505;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2640, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail505:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_278 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])))
)
    {
      {
/* #line 5776 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
/* #line 5777 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail506;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail506;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5778, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 =  tem;
		tree _r;
		_r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail506:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_279 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
  {
/* #line 485 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wi::overflow_type overflow;
 wide_int mul = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[3]),
 TYPE_SIGN (type), &overflow);
/* #line 490 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (div == EXACT_DIV_EXPR
 || optimize_successive_divisions_p (captures[3], captures[0])
)
	{
/* #line 492 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!overflow
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail507;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail507;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail507;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 493, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  wide_int_to_tree (type, mul);
		tree _r;
		_r = fold_build2_loc (loc, div, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail507:;
	    }
	  else
	    {
/* #line 494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (type)
 || mul != wi::min_value (TYPE_PRECISION (type), SIGNED)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail508;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail508;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail508;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 496, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  build_zero_cst (type);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail508:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_280 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6379 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 6380 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail509;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail509;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6381, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		_o2[0] = captures[2];
		_o2[1] = captures[1];
		_r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
		if (!_r2)
		  goto next_after_fail509;
		_o1[0] = _r2;
	      }
	      _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 =  build_zero_cst (t);
	    tree _r;
	    _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail509:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_281 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail510;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail510;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2626, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (false, type);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail510:;
    }
  else
    {
/* #line 2627 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail511;
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail511;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail511;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2628, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail511:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_282 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  {
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3715 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tem
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail512;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3716, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 =  tem;
	    tree _r;
	    _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail512:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_283 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1634 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail513;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail513;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1635, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail513:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail514;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail514;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1637, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[4];
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail514:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_284 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail515;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 958, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    if (!_r)
      goto next_after_fail515;
    if (TREE_SIDE_EFFECTS (captures[2]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    return _r;
  }
next_after_fail515:;
  return NULL_TREE;
}

static tree
generic_simplify_285 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 5057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type)
 && known_eq (TYPE_VECTOR_SUBPARTS (type),
 TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
 && (TYPE_MODE (TREE_TYPE (type))
 == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail516;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5062, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = captures[2];
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[3];
	      _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
	      _o2[1] = _r3;
	    }
	    _o2[2] = captures[4];
	    _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
	    _o1[0] = _r2;
	  }
	  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail516:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_286 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (ifn), const combined_fn ARG_UNUSED (lfn), const combined_fn ARG_UNUSED (llfn))
{
/* #line 7096 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail517;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7106, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
	    if (!_r)
	      goto next_after_fail517;
	    return _r;
	  }
next_after_fail517:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_287 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (copysigns))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail518;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 972, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = maybe_build_call_expr_loc (loc, copysigns, type, 2, res_op0, res_op1);
    if (!_r)
      goto next_after_fail518;
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail518:;
  return NULL_TREE;
}

static tree
generic_simplify_288 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (minmax))
{
/* #line 3417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail519;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3418, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail519:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_289 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
/* #line 1683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail520;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail520;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1684, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail520:;
	}
      else
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail521;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail521;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1685, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail521:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_290 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (copysigns))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail522;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 978, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[1])) goto next_after_fail522;
    tree res_op0;
    res_op0 = unshare_expr (captures[1]);
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    if (TREE_SIDE_EFFECTS (captures[2]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    return _r;
  }
next_after_fail522:;
  return NULL_TREE;
}

static tree
generic_simplify_291 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 off0, off1;
 tree base0, base1;
 int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[2], base0, base1,
 off0, off1,
1
);
/* #line 6109 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 6111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail523;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail523;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail523;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6112, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (known_eq (off0, off1), type);
		return _r;
	      }
next_after_fail523:;
	    }
	  else
	    {
/* #line 6113 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail524;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail524;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail524;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (known_ne (off0, off1), type);
		    return _r;
		  }
next_after_fail524:;
		}
	      else
		{
/* #line 6115 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail525;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail525;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail525;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6116, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (known_lt (off0, off1), type);
			return _r;
		      }
next_after_fail525:;
		    }
		  else
		    {
/* #line 6117 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
)
			{
			  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail526;
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail526;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail526;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (known_le (off0, off1), type);
			    return _r;
			  }
next_after_fail526:;
			}
		      else
			{
/* #line 6119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail527;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail527;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail527;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6120, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  constant_boolean_node (known_ge (off0, off1), type);
				return _r;
			      }
next_after_fail527:;
			    }
			  else
			    {
/* #line 6121 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
)
				{
				  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail528;
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail528;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail528;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (known_gt (off0, off1), type);
				    return _r;
				  }
next_after_fail528:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 6123 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 6125 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail529;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail529;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail529;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6126, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (false, type);
		    return _r;
		  }
next_after_fail529:;
		}
	      else
		{
/* #line 6127 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail530;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail530;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail530;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6128, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (true, type);
			return _r;
		      }
next_after_fail530:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_292 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (sinhs), const combined_fn ARG_UNUSED (atanhs), const combined_fn ARG_UNUSED (sqrts))
{
/* #line 6716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6723 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail531;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6724, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail531;
	    tree res_op0;
	    res_op0 = unshare_expr (captures[1]);
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = unshare_expr (captures[1]);
		  _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  _o2[0] = _r3;
		}
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = captures[1];
		  _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  _o2[1] = _r3;
		}
		_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		_o1[0] = _r2;
	      }
	      _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
	      if (!_r1)
	        goto next_after_fail531;
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail531:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_293 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
 && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail532;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2372, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[2];
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[3]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
	return _r;
      }
next_after_fail532:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_294 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1027 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail533;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1028, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail533:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_295 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
 && (cmp != LTGT_EXPR || ! flag_trapping_math)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail534;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6254, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == ORDERED_EXPR || cmp == LTGT_EXPR
 ? false : true, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail534:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_296 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail535;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail535;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5138, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail535:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_297 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail536;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail536;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1164, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    return _r;
  }
next_after_fail536:;
  return NULL_TREE;
}

static tree
generic_simplify_298 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && integer_nonzerop (captures[2])
 && !TREE_OVERFLOW (captures[2])
 && !TREE_OVERFLOW (captures[3])
)
    {
      {
/* #line 2226 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree lo, hi; bool neg_overflow;
 enum tree_code code = fold_div_compare (cmp, captures[2], captures[3], &lo, &hi,
 &neg_overflow);
/* #line 2230 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (code == LT_EXPR || code == GE_EXPR
)
	    {
/* #line 2231 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TREE_OVERFLOW (lo)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail537;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail537;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail537;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2232, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  build_int_cst (type, (code == LT_EXPR) ^ neg_overflow);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail537:;
		}
	      else
		{
/* #line 2233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (code == LT_EXPR
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail538;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail538;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail538;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2234, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree res_op1;
			res_op1 =  lo;
			tree _r;
			_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail538:;
		    }
		  else
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail539;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail539;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail539;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2235, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree res_op1;
			res_op1 =  lo;
			tree _r;
			_r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail539:;
		    }
		}
	    }
	  else
	    {
/* #line 2236 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (code == LE_EXPR || code == GT_EXPR
)
		{
/* #line 2237 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (TREE_OVERFLOW (hi)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail540;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail540;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail540;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2238, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  build_int_cst (type, (code == LE_EXPR) ^ neg_overflow);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			return _r;
		      }
next_after_fail540:;
		    }
		  else
		    {
/* #line 2239 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (code == LE_EXPR
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail541;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail541;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail541;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2240, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree res_op1;
			    res_op1 =  hi;
			    tree _r;
			    _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail541:;
			}
		      else
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail542;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail542;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail542;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2241, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree res_op1;
			    res_op1 =  hi;
			    tree _r;
			    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail542:;
			}
		    }
		}
	      else
		{
/* #line 2242 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (!lo && !hi
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail543;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail543;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail543;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2243, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  build_int_cst (type, code == NE_EXPR);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			return _r;
		      }
next_after_fail543:;
		    }
		  else
		    {
/* #line 2244 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (code == EQ_EXPR && !hi
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail544;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail544;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail544;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2245, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree res_op1;
			    res_op1 =  lo;
			    tree _r;
			    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail544:;
			}
		      else
			{
/* #line 2246 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (code == EQ_EXPR && !lo
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail545;
			      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail545;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail545;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2247, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree res_op1;
				res_op1 =  hi;
				tree _r;
				_r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail545:;
			    }
			  else
			    {
/* #line 2248 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (code == NE_EXPR && !hi
)
				{
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail546;
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail546;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail546;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2249, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 = captures[1];
				    tree res_op1;
				    res_op1 =  lo;
				    tree _r;
				    _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
				    return _r;
				  }
next_after_fail546:;
				}
			      else
				{
/* #line 2250 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (code == NE_EXPR && !lo
)
				    {
				      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail547;
				      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail547;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail547;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2251, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree res_op1;
					res_op1 =  hi;
					tree _r;
					_r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
					return _r;
				      }
next_after_fail547:;
				    }
				  else
				    {
/* #line 2252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (1
)
					{
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail548;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail548;
					  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail548;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail548;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2253, __FILE__, __LINE__);
					  {
					    tree _r;
					    _r =  build_range_check (UNKNOWN_LOCATION, type, captures[1], code == EQ_EXPR,
 lo, hi);
					    return _r;
					  }
next_after_fail548:;
					}
				      else
					{
					  {
/* #line 2255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree etype = range_check_type (TREE_TYPE (captures[1]));
 if (etype)
 {
 hi = fold_convert (etype, hi);
 lo = fold_convert (etype, lo);
 hi = const_binop (MINUS_EXPR, etype, hi, lo);
 }
/* #line 2265 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (etype && hi && !TREE_OVERFLOW (hi)
)
						{
/* #line 2266 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						  if (code == EQ_EXPR
)
						    {
						      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail549;
						      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail549;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail549;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2267, __FILE__, __LINE__);
						      {
							tree res_op0;
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[1], _r2;
							    _o2[0] = captures[1];
							    if (TREE_TYPE (_o2[0]) != etype)
							      {
								_r2 = fold_build1_loc (loc, NOP_EXPR, etype, _o2[0]);
							      }
							    else
							      _r2 = _o2[0];
							    _o1[0] = _r2;
							  }
							  _o1[1] =  lo;
							  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  res_op0 = _r1;
							}
							tree res_op1;
							res_op1 =  hi;
							tree _r;
							_r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
							return _r;
						      }
next_after_fail549:;
						    }
						  else
						    {
						      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail550;
						      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail550;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail550;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2268, __FILE__, __LINE__);
						      {
							tree res_op0;
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[1], _r2;
							    _o2[0] = captures[1];
							    if (TREE_TYPE (_o2[0]) != etype)
							      {
								_r2 = fold_build1_loc (loc, NOP_EXPR, etype, _o2[0]);
							      }
							    else
							      _r2 = _o2[0];
							    _o1[0] = _r2;
							  }
							  _o1[1] =  lo;
							  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  res_op0 = _r1;
							}
							tree res_op1;
							res_op1 =  hi;
							tree _r;
							_r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
							return _r;
						      }
next_after_fail550:;
						    }
						}
					  }
					}
				    }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_299 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail551;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1135, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = unshare_expr (captures[2]);
      _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail551:;
  return NULL_TREE;
}

static tree
generic_simplify_300 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail552;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail552;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5923, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    return _r;
  }
next_after_fail552:;
  return NULL_TREE;
}

static tree
generic_simplify_301 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (neg_op))
{
/* #line 661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 668 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
)
	{
/* #line 670 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail553;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 671, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[2];
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail553:;
	    }
	  else
	    {
/* #line 673 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail554;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 674, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[2];
		    tree _r;
		    _r = fold_build2_loc (loc, neg_op, type, res_op0, res_op1);
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    return _r;
		  }
next_after_fail554:;
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_302 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail555;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1200, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail555:;
  return NULL_TREE;
}

static tree
generic_simplify_303 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (neg_cmp))
{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 6492 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, captures[2], captures[1]);
/* #line 6494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tem
 && !(REAL_VALUE_ISINF (TREE_REAL_CST (tem))
 || (real_zerop (tem) && !real_zerop (captures[1])))
)
	    {
/* #line 6498 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[1]))
)
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail556;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail556;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail556;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6499, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[0];
		    tree res_op1;
		    res_op1 =  tem;
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail556:;
		}
	      else
		{
/* #line 6500 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (real_less (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail557;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail557;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail557;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6501, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 =  tem;
			tree _r;
			_r = fold_build2_loc (loc, neg_cmp, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail557:;
		    }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_304 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (integer_zerop (captures[2])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail558;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5202, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[2];
	tree res_op1;
	res_op1 = captures[3];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail558:;
    }
  else
    {
/* #line 5203 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
 && single_use (captures[0])
)
	{
/* #line 5207 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail559;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5208, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[3];
		tree _r;
		_r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail559:;
	    }
	  else
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail560;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5209, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[3];
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail560:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_305 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (neeq))
{
/* #line 6134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && ptrs_compare_unequal (captures[0], captures[1])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail561;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6136, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (neeq != EQ_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail561:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_306 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1585 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail562;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1587, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail562:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_307 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 7059 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail563;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7062, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
	if (!_r)
	  goto next_after_fail563;
	return _r;
      }
next_after_fail563:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_308 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 3007 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[2])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail564;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3008, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[2];
		      _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[0];
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
			_o1[1] = _r2;
		      }
		      _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      if (EXPR_P (_r1))
		        goto next_after_fail564;
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail564:;
		}
	    }
	  else
	    {
/* #line 3009 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail565;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3011, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[2];
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[0];
			  _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
			  _o2[0] = _r3;
			}
			_o2[1] = captures[1];
			_r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			if (EXPR_P (_r2))
			  goto next_after_fail565;
			_o1[1] = _r2;
		      }
		      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail565:;
		}
	      else
		{
/* #line 3012 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (types_match (type, captures[2]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 3013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
/* #line 3014 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail566;
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail566;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail566;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3015, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 =  cst;
				tree res_op1;
				res_op1 = captures[2];
				tree _r;
				_r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail566:;
			    }
		      }
		    }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_309 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail567;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1856, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail567:;
  return NULL_TREE;
}

static tree
generic_simplify_310 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail568;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail568;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5711, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail568:;
  return NULL_TREE;
}

static tree
generic_simplify_311 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail569;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2319, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[3];
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail569:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_312 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (copysigns))
{
/* #line 964 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail570;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 965, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail570:;
    }
  else
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail571;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 966, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail571:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_313 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (logic), const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (ext))
{
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TREE_CODE (captures[1]) != INTEGER_CST
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail572;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7336, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  _o1[1] = captures[4];
	  _r1 = fold_build2_loc (loc, ext, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	return _r;
      }
next_after_fail572:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_314 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail573;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail573;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1210, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[5];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail573:;
  return NULL_TREE;
}

static tree
generic_simplify_315 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3146 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
	    {
	      {
/* #line 3149 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail574;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3150, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			if (TREE_TYPE (_o2[0]) != utype)
			  {
			    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
			  }
			else
			  _r2 = _o2[0];
			_o1[0] = _r2;
		      }
		      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail574:;
	      }
	    }
	  else
	    {
/* #line 3151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
 || (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail575;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3161, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (TREE_TYPE (_o1[0]) != type)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail575:;
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_316 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
 && wi::to_wide (captures[4]) != 0
 && single_use (captures[1])
)
    {
      {
/* #line 6328 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
 signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail576;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail576;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6332, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[3];
	    tree res_op1;
	    res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
 wi::max_value (prec, sign)
 - wi::to_wide (captures[4]));
	    tree _r;
	    _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail576:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_317 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (type)
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail577;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 998, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail577:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_318 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail578;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail578;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 328, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	return _r;
      }
next_after_fail578:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_319 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
 && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail579;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2372, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[2];
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[3]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
	return _r;
      }
next_after_fail579:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_320 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3082 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail580;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3083, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 =  build_all_ones_cst (TREE_TYPE (captures[0]));
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail580:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_321 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !(targetm.have_canonicalize_funcptr_for_compare ()
 && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
 && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
 || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
 && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
 && single_use (captures[0])
)
    {
/* #line 5800 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
 && (TREE_CODE (captures[3]) == INTEGER_CST
 || captures[2] != captures[3])
 && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 || cmp == NE_EXPR
 || cmp == EQ_EXPR)
 && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
 && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
 || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
)
	{
/* #line 5815 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail581;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail581;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5816, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  force_fit_type (TREE_TYPE (captures[1]), wi::to_widest (captures[2]), 0,
 TREE_OVERFLOW (captures[2]));
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail581:;
	    }
	  else
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail582;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5818, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[2];
		  if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op1 = _r1;
		}
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail582:;
	    }
	}
      else
	{
/* #line 5820 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5822 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if ((cmp == EQ_EXPR || cmp == NE_EXPR
 || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
 && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
 || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
 >= TYPE_PRECISION (TREE_TYPE (captures[3])))
 && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
 || (TREE_CODE (captures[2]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail583;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5834, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail583:;
		}
	      else
		{
/* #line 5835 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (TREE_CODE (captures[2]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
)
		    {
		      {
/* #line 5838 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
 bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
/* #line 5845 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail584;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5847, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    if (TREE_SIDE_EFFECTS (captures[2]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				    return _r;
				  }
next_after_fail584:;
				}
			      else
				{
/* #line 5848 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail585;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5849, __FILE__, __LINE__);
				      {
					tree _r;
					_r =  constant_boolean_node (above ? true : false, type);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					if (TREE_SIDE_EFFECTS (captures[2]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					return _r;
				      }
next_after_fail585:;
				    }
				  else
				    {
/* #line 5850 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail586;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5851, __FILE__, __LINE__);
					  {
					    tree _r;
					    _r =  constant_boolean_node (above ? false : true, type);
					    if (TREE_SIDE_EFFECTS (captures[1]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					    if (TREE_SIDE_EFFECTS (captures[2]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					    return _r;
					  }
next_after_fail586:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  else
    {
/* #line 5853 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
 && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
 && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
)
	{
	  {
/* #line 5858 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree type1 = TREE_TYPE (captures[3]);
 if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
 {
 REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
 if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
 && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
 type1 = float_type_node;
 if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
 && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
 type1 = double_type_node;
 }
 tree newtype
 = (TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (type1)
 ? TREE_TYPE (captures[1]) : type1);
/* #line 5875 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (newtype)
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail587;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5876, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (TREE_TYPE (_o1[0]) != newtype)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (TREE_TYPE (_o1[0]) != newtype)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail587:;
		}
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_322 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail588;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail588;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail588;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 360, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	return _r;
      }
next_after_fail588:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_323 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || ((op == EQ_EXPR || op == NE_EXPR)
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))))
 && (CONSTANT_CLASS_P (captures[2]) || single_use (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail589;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2403, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[2];
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail589:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_324 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1267 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree pmop[2];
 tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[3], op, captures[1], ERROR_MARK,
 NULL_TREE, NULL_TREE, captures[2], ERROR_MARK,
 NULL_TREE, NULL_TREE, pmop);
/* #line 1272 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail590;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail590;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail590;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail590;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1273, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[1];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[1] = _r3;
		}
		_r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (TREE_TYPE (_o2[0]) != utype)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail590:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_325 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type)
)
    {
/* #line 847 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_UNDEFINED (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail591;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 848, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail591:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_326 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (clz))
{
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) && single_use (captures[0])
)
    {
      {
/* #line 7625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree type0 = TREE_TYPE (captures[1]);
 tree stype = signed_type_for (type0);
 HOST_WIDE_INT val = 0;
 if (clz == CFN_CLZ
 && CLZ_DEFINED_VALUE_AT_ZERO (SCALAR_TYPE_MODE (type0),
 val) == 2
 && val == 0)
 stype = NULL_TREE;
/* #line 7635 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (stype
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail592;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7636, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  if (TREE_TYPE (_o1[0]) != stype)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 =  build_zero_cst (stype);
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail592:;
	    }
      }
    }
  else
    {
      {
/* #line 7638 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool ok = true;
 HOST_WIDE_INT val = 0;
 tree type0 = TREE_TYPE (captures[1]);
 if (clz == CFN_CLZ
 && CLZ_DEFINED_VALUE_AT_ZERO (SCALAR_TYPE_MODE (type0),
 val) == 2
 && val == TYPE_PRECISION (type0) - 1)
 ok = false;
/* #line 7648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ok && wi::to_wide (captures[2]) == (TYPE_PRECISION (type0) - 1)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail593;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7649, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  build_one_cst (type0);
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail593:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_327 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail594;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2119, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[1])) goto next_after_fail594;
    tree res_op0;
    {
      tree _o1[2], _r1;
      {
	tree _o2[2], _r2;
	_o2[0] = unshare_expr (captures[1]);
	_o2[1] = captures[4];
	_r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	_o1[0] = _r2;
      }
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail594:;
  return NULL_TREE;
}

static tree
generic_simplify_328 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 3784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_int_cst_sgn (captures[0]) > 0
)
    {
      {
/* #line 3785 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int c1 = wi::clz (wi::to_wide (captures[0]));
 int c2 = wi::clz (wi::to_wide (captures[2]));
/* #line 3787 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (c1 > c2
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail595;
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail595;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail595;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail595;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3788, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail595:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail596;
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail596;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail596;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail596;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3789, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c2 - c1);
		tree _r;
		_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail596:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_329 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail597;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3562, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	return _r;
      }
next_after_fail597:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_330 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail598;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1159, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail598:;
  return NULL_TREE;
}

static tree
generic_simplify_331 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail599;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail599;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6769, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail599:;
  return NULL_TREE;
}

static tree
generic_simplify_332 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
 && !TYPE_SATURATING (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail600;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail600;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1542, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[2], _r2;
	    _o2[0] = captures[1];
	    _o2[1] = captures[2];
	    _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    _o1[0] = _r2;
	  }
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
	return _r;
      }
next_after_fail600:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_333 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3577 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail601;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3579, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (cmp == NE_EXPR, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail601:;
    }
  else
    {
/* #line 3580 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail602;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3582, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail602:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_334 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
 bool val;
 switch (code2)
 {
 case EQ_EXPR: val = (cmp == 0); break;
 case NE_EXPR: val = (cmp != 0); break;
 case LT_EXPR: val = (cmp < 0); break;
 case GT_EXPR: val = (cmp > 0); break;
 case LE_EXPR: val = (cmp <= 0); break;
 case GE_EXPR: val = (cmp >= 0); break;
 default: gcc_unreachable ();
 }
/* #line 2721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail603;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail603;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail603;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2721, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail603:;
	}
      else
	{
/* #line 2722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail604;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail604;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail604;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2722, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (false, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail604:;
	    }
	  else
	    {
/* #line 2723 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail605;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail605;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail605;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2723, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail605:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_335 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6379 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 6380 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail606;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail606;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6381, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		_o2[0] = captures[2];
		_o2[1] = captures[1];
		_r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
		if (!_r2)
		  goto next_after_fail606;
		_o1[0] = _r2;
	      }
	      _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 =  build_zero_cst (t);
	    tree _r;
	    _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail606:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_336 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail607;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2064, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[0];
      _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 =  build_each_one_cst (type);
    tree _r;
    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail607:;
  return NULL_TREE;
}

static tree
generic_simplify_337 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail608;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1174, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail608:;
  return NULL_TREE;
}

static tree
generic_simplify_338 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop))
{
  {
/* #line 1279 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree pmop[2];
 tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[4], NEGATE_EXPR, captures[1],
 bitop, captures[2], captures[3], NULL_TREE, ERROR_MARK,
 NULL_TREE, NULL_TREE, pmop);
/* #line 1284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail609;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail609;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail609;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail609;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail609;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1285, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		_r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[4];
		if (TREE_TYPE (_o2[0]) != utype)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail609:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_339 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail610;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1921, __FILE__, __LINE__);
  {
    tree _r;
    _r =  build_zero_cst (type);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail610:;
  return NULL_TREE;
}

static tree
generic_simplify_340 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail611;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2305, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail611:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_341 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail612;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1184, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail612:;
  return NULL_TREE;
}

static tree
generic_simplify_342 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
 && tree_fits_uhwi_p (captures[4])
 && tree_to_uhwi (captures[4]) > 0
 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
)
    {
      {
/* #line 3864 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR)
 zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR
 && type_has_mode_precision_p (shift_type))
 {
 prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
 tree arg00 = captures[3];
 if (captures[2] != captures[3]
 && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
 {
 tree inner_type = TREE_TYPE (captures[3]);
 if (type_has_mode_precision_p (inner_type)
 && TYPE_PRECISION (inner_type) < prec)
 {
 prec = TYPE_PRECISION (inner_type);
 if (shiftc < prec)
 shift_type = inner_type;
 }
 }
 zerobits = HOST_WIDE_INT_M1U;
 if (shiftc < prec)
 {
 zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
 zerobits <<= prec - shiftc;
 }
 if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
 {
 if ((mask & zerobits) == 0)
 shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
 else
 zerobits = 0;
 }
 }
/* #line 3918 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail613;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail613;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail613;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail613;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3919, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail613:;
	    }
	  else
	    {
	      {
/* #line 3920 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3921 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3922 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
 if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
 break;
/* #line 3931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3933 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3935 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3936 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail614;
					  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail614;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail614;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail614;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3937, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (TREE_TYPE (_o3[0]) != shift_type)
						    {
						      _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						_r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      if (TREE_TYPE (_o1[0]) != type)
						{
						  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						}
					      else
					        _r1 = _o1[0];
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail614:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail615;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail615;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail615;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 = captures[0];
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail615:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_343 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2112 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail616;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2114, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail616:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_344 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2803 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2805 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail617;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail617;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail617;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2806, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[3];
		return _r;
	      }
next_after_fail617:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail618;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail618;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail618;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2807, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[0];
		return _r;
	      }
next_after_fail618:;
	    }
	}
      else
	{
/* #line 2809 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2811 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail619;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail619;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail619;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2812, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[3];
		    return _r;
		  }
next_after_fail619:;
		}
	      else
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail620;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail620;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail620;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2813, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail620:;
		}
	    }
	  else
	    {
/* #line 2815 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (cmp == 0
 && ((code1 == LT_EXPR && code2 == GT_EXPR)
 || (code1 == GT_EXPR && code2 == LT_EXPR))
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail621;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail621;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail621;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2818, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[4];
		    tree _r;
		    _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail621:;
		}
	      else
		{
/* #line 2820 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cmp >= 0
 && (code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail622;
		      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail622;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail622;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2823, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (true, type);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			return _r;
		      }
next_after_fail622:;
		    }
		  else
		    {
/* #line 2824 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (cmp <= 0
 && (code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail623;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail623;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail623;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2827, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (true, type);
			    if (TREE_SIDE_EFFECTS (captures[1]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			    return _r;
			  }
next_after_fail623:;
			}
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_345 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail624;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5965, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      {
	tree _o2[2], _r2;
	_o2[0] = captures[1];
	_o2[1] = captures[4];
	_r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	_o1[0] = _r2;
      }
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    tree _r;
    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    return _r;
  }
next_after_fail624:;
  return NULL_TREE;
}

static tree
generic_simplify_346 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2160 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
 && (TREE_INT_CST_LOW (captures[1]) & 1) != 0
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail625;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2163, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail625:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_347 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
)
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail626;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7597, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail626;
	return _r;
      }
next_after_fail626:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_348 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail627;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1205, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[1];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail627:;
  return NULL_TREE;
}

static tree
generic_simplify_349 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
 && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail628;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2378, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail628:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_350 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (coshs), const combined_fn ARG_UNUSED (atanhs), const combined_fn ARG_UNUSED (sqrts))
{
/* #line 6716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6732 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail629;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6733, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail629;
	    tree res_op0;
	    res_op0 =  t_one;
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = unshare_expr (captures[1]);
		  _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  _o2[0] = _r3;
		}
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = captures[1];
		  _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  _o2[1] = _r3;
		}
		_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		_o1[0] = _r2;
	      }
	      _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
	      if (!_r1)
	        goto next_after_fail629;
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail629:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_351 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail630;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7563, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail630;
	return _r;
      }
next_after_fail630:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_352 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[4]))
 && (wi::to_wide (captures[2]) & wi::to_wide (captures[5])) == 0
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail631;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail631;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail631;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1574, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[3];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail631:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_353 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5986 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && types_match (captures[0], captures[2])
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail632;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail632;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5989, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail632:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_354 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail633;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6764, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail633:;
  return NULL_TREE;
}

static tree
generic_simplify_355 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail634;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail634;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1215, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[3];
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail634:;
  return NULL_TREE;
}

static tree
generic_simplify_356 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 6069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && type_has_mode_precision_p (TREE_TYPE (captures[1]))
 && element_precision (captures[0]) >= element_precision (captures[1])
 && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
)
    {
      {
/* #line 6073 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail635;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail635;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6074, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[1];
	      if (TREE_TYPE (_o1[0]) != stype)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 =  build_zero_cst (stype);
	    tree _r;
	    _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail635:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_357 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 5187 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail636;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail636;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail636;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5190, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail636:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_358 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail637;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6780, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail637:;
  return NULL_TREE;
}

static tree
generic_simplify_359 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (outer_op), const enum tree_code ARG_UNUSED (inner_op))
{
/* #line 217 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (real_zerop (captures[2])
 && real_zerop (captures[3])
 && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
)
    {
      {
/* #line 220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool inner_plus = ((inner_op == PLUS_EXPR)
 ^ REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[2])));
 bool outer_plus
 = ((outer_op == PLUS_EXPR)
 ^ REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[3])));
/* #line 225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (outer_plus && !inner_plus
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail638;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 226, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[3];
		tree _r;
		_r = fold_build2_loc (loc, outer_op, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail638:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail639;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail639;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 227, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[0];
		if (TREE_SIDE_EFFECTS (captures[3]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
		return _r;
	      }
next_after_fail639:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_360 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[4]);
/* #line 8011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail640;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8012, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[5], _r1;
	      _o1[0] = captures[0];
	      _o1[1] = captures[1];
	      _o1[2] = captures[2];
	      _o1[3] = captures[3];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[5];
		_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
		_o1[4] = _r2;
	      }
	      _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 5, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
	      if (!_r1)
	        goto next_after_fail640;
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[4]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
	    return _r;
	  }
next_after_fail640:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_361 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1842 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (0
 && TREE_CODE (captures[3]) != INTEGER_CST
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && types_match (type, captures[2])
 && !POINTER_TYPE_P (TREE_TYPE (captures[2]))
 && TREE_CODE (TREE_TYPE (captures[2])) != OFFSET_TYPE
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail641;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1848, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[2];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[3];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
	return _r;
      }
next_after_fail641:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_362 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (rotate))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail642;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3658, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail642:;
  return NULL_TREE;
}

static tree
generic_simplify_363 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (opo), const enum tree_code ARG_UNUSED (opi))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail643;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1600, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[1];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op0 = _r1;
    }
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail643:;
  return NULL_TREE;
}

static tree
generic_simplify_364 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (fns))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail644;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6744, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = maybe_build_call_expr_loc (loc, fns, type, 1, res_op0);
    if (!_r)
      goto next_after_fail644;
    return _r;
  }
next_after_fail644:;
  return NULL_TREE;
}

static tree
generic_simplify_365 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[0]);
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail645;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4360, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (TREE_TYPE (_o1[0]) != ctype)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (TREE_TYPE (_o1[0]) != ctype)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail645:;
  }
  return NULL_TREE;
}

static tree
generic_simplify_366 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail646;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail646;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2646, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail646:;
  return NULL_TREE;
}

static tree
generic_simplify_367 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail647;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail647;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5711, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[1];
    return _r;
  }
next_after_fail647:;
  return NULL_TREE;
}

static tree
generic_simplify_368 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2133 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail648;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail648;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2135, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[3];
	    tree res_op2;
	    res_op2 =  build_zero_cst (type);
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail648:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_369 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2883 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!TYPE_OVERFLOW_SANITIZED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail649;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2885, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail649:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_370 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail650;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1144, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = unshare_expr (captures[2]);
    tree res_op1;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail650:;
  return NULL_TREE;
}

static tree
generic_simplify_371 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail651;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2059, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] =  build_each_one_cst (TREE_TYPE (captures[0]));
	  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail651:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_372 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 6426 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_MAX_VALUE (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (TREE_TYPE (captures[0])))
 && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
)
    {
/* #line 6430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail652;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6431, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[1];
	      {
		tree _o2[2], _r2;
		_o2[0] =  TYPE_MAX_VALUE (TREE_TYPE (captures[1]));
		_o2[1] = captures[2];
		_r2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		if (EXPR_P (_r2))
		  goto next_after_fail652;
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail652:;
	}
      else
	{
/* #line 6432 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_MIN_VALUE (TREE_TYPE (captures[1]))
)
	    {
/* #line 6433 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (integer_minus_onep (captures[2])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail653;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6434, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[1];
		      _o1[1] =  TYPE_MIN_VALUE (TREE_TYPE (captures[1]));
		      _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    if (TREE_SIDE_EFFECTS (captures[2]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		    return _r;
		  }
next_after_fail653:;
		}
	      else
		{
		  {
/* #line 6435 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree div = fold_convert (TREE_TYPE (captures[1]), captures[2]);
 tree lo = int_const_binop (TRUNC_DIV_EXPR,
 TYPE_MIN_VALUE (TREE_TYPE (captures[1])), div);
 tree hi = int_const_binop (TRUNC_DIV_EXPR,
 TYPE_MAX_VALUE (TREE_TYPE (captures[1])), div);
 tree etype = range_check_type (TREE_TYPE (captures[1]));
 if (etype)
 {
 if (wi::neg_p (wi::to_wide (div)))
 std::swap (lo, hi);
 lo = fold_convert (etype, lo);
 hi = fold_convert (etype, hi);
 hi = int_const_binop (MINUS_EXPR, hi, lo);
 }
/* #line 6452 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (etype
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail654;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail654;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6453, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[2], _r1;
			      {
				tree _o2[2], _r2;
				{
				  tree _o3[1], _r3;
				  _o3[0] = captures[1];
				  if (TREE_TYPE (_o3[0]) != etype)
				    {
				      _r3 = fold_build1_loc (loc, NOP_EXPR, etype, _o3[0]);
				    }
				  else
				    _r3 = _o3[0];
				  _o2[0] = _r3;
				}
				_o2[1] =  lo;
				_r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _o1[1] =  hi;
			      _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
			      res_op0 = _r1;
			    }
			    tree _r;
			    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail654:;
			}
		  }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_373 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (neeq))
{
  {
/* #line 2384 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff; tree inner_type = TREE_TYPE (captures[2]);
/* #line 2385 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (ptr_difference_const (captures[0], captures[1], &diff)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail655;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2386, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 =  build_int_cst_type (inner_type, diff);
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail655:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_374 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail656;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1150, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail656:;
  return NULL_TREE;
}

static tree
generic_simplify_375 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree pmop[2];
 tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], bitop,
 captures[2], captures[3], captures[4], ERROR_MARK, NULL_TREE,
 NULL_TREE, pmop);
/* #line 1250 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (utype
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail657;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail657;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail657;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail657;
	  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail657;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail657;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1251, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[1];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[1] = _r3;
		}
		_r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[5];
		if (TREE_TYPE (_o2[0]) != utype)
		  {
		    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail657:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_376 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (FMIN_ALL))
{
/* #line 3531 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail658;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3534, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail658:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_377 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (logs), const combined_fn ARG_UNUSED (pows))
{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail659;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6603, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
	  if (!_r1)
	    goto next_after_fail659;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail659:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_378 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2694 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail660;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail660;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2696, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail660:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_379 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6956 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail661;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6959, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
	  if (!_r1)
	    goto next_after_fail661;
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail661:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_380 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2694 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail662;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail662;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2696, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail662:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_381 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail663;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1169, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree _r;
    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    return _r;
  }
next_after_fail663:;
  return NULL_TREE;
}

static tree
generic_simplify_382 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2687 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail664;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail664;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2689, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail664:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_383 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail665;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1179, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[1];
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail665:;
  return NULL_TREE;
}

static tree
generic_simplify_384 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (minmax))
{
/* #line 3522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (real_isnan (TREE_REAL_CST_PTR (captures[1]))
 && (!HONOR_SNANS (captures[1]) || !TREE_REAL_CST (captures[1]).signalling)
 && !tree_expr_maybe_signaling_nan_p (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail666;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3525, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail666:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_385 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (integer_pow2p (captures[2])
 && tree_int_cst_sgn (captures[2]) > 0
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && wi::to_wide (captures[2]) + wi::to_wide (captures[1]) == 0
)
    {
      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail667;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail667;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 684, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_int_cst (integer_type_node,
 wi::exact_log2 (wi::to_wide (captures[2])));
	tree _r;
	_r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail667:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_386 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail668;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5267, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = unshare_expr (captures[0]);
    tree res_op1;
    res_op1 = captures[0];
    tree _r;
    _r = fold_build2_loc (loc, UNORDERED_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail668:;
  return NULL_TREE;
}

static tree
generic_simplify_387 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6351 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail669;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail669;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6353, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[0];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail669:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_388 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail670;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7569, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[2];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
	if (!_r)
	  goto next_after_fail670;
	return _r;
      }
next_after_fail670:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_389 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 5576 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
 && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 5578 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree itype = TREE_TYPE (captures[0]);
 format_helper fmt (REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[1]))));
 const REAL_VALUE_TYPE *cst = TREE_REAL_CST_PTR (captures[1]);
 bool exception_p
 = real_isnan (cst) && (cst->signalling
 || (cmp != EQ_EXPR && cmp != NE_EXPR));
/* #line 5593 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (fmt.can_represent_integral_type_p (itype) && ! exception_p
)
	    {
	      {
/* #line 5594 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 signop isign = TYPE_SIGN (itype);
 REAL_VALUE_TYPE imin, imax;
 real_from_integer (&imin, fmt, wi::min_value (itype), isign);
 real_from_integer (&imax, fmt, wi::max_value (itype), isign);
 REAL_VALUE_TYPE icst;
 if (cmp == GT_EXPR || cmp == GE_EXPR)
 real_ceil (&icst, fmt, cst);
 else if (cmp == LT_EXPR || cmp == LE_EXPR)
 real_floor (&icst, fmt, cst);
 else
 real_trunc (&icst, fmt, cst);
 bool cst_int_p = !real_isnan (cst) && real_identical (&icst, cst);
 bool overflow_p = false;
 wide_int icst_val
 = real_to_integer (&icst, &overflow_p, TYPE_PRECISION (itype));
/* #line 5617 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (real_compare (LT_EXPR, cst, &imin)
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail671;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail671;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5618, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  constant_boolean_node (cmp == GT_EXPR || cmp == GE_EXPR || cmp == NE_EXPR,
 type);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			return _r;
		      }
next_after_fail671:;
		    }
		  else
		    {
/* #line 5620 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (real_compare (GT_EXPR, cst, &imax)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail672;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail672;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5621, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  constant_boolean_node (cmp == LT_EXPR || cmp == LE_EXPR || cmp == NE_EXPR,
 type);
			    if (TREE_SIDE_EFFECTS (captures[0]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			    return _r;
			  }
next_after_fail672:;
			}
		      else
			{
/* #line 5624 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cst_int_p
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail673;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail673;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5625, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
 gcc_assert (!overflow_p);				res_op1 = 
 wide_int_to_tree (itype, icst_val);
				tree _r;
				_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail673:;
			    }
			  else
			    {
/* #line 5631 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail674;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail674;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5632, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (cmp == NE_EXPR, type);
				    if (TREE_SIDE_EFFECTS (captures[0]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				    return _r;
				  }
next_after_fail674:;
				}
			      else
				{
				  {
/* #line 5634 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 gcc_checking_assert (!overflow_p);
				      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail675;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail675;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5638, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[0];
					tree res_op1;
					res_op1 =  wide_int_to_tree (itype, icst_val);
					tree _r;
					_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					return _r;
				      }
next_after_fail675:;
				  }
				}
			    }
			}
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_390 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POPCOUNT))
{
/* #line 7721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && wi::bit_and (tree_nonzero_bits (captures[1]), tree_nonzero_bits (captures[3])) == 0
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail676;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7723, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, res_op0);
	if (!_r)
	  goto next_after_fail676;
	return _r;
      }
next_after_fail676:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_391 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2903 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail677;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2905, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail677:;
	    }
	  else
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail678;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2906, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail678:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_392 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 2082 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail679;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail679;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2084, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail679:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_393 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (tans), const combined_fn ARG_UNUSED (atans))
{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail680;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6675, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail680:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_394 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5937 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
 && !wi::neg_p (wi::to_wide (captures[3]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail681;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5943, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  {
	    tree _o2[1], _r2;
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[3];
	      _r3 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
	      _o2[0] = _r3;
	    }
	    if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail681:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_395 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 728 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail682;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 729, __FILE__, __LINE__);
      {
	tree _r;
	_r =  build_zero_cst (type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail682:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_396 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail683;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail683;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1210, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    {
      tree _o1[1], _r1;
      _o1[0] = captures[5];
      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail683:;
  return NULL_TREE;
}

static tree
generic_simplify_397 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail684;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail684;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1190, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail684:;
  return NULL_TREE;
}

static tree
generic_simplify_398 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail685;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail685;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1215, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[3];
    tree _r;
    _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail685:;
  return NULL_TREE;
}

static tree
generic_simplify_399 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail686;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5732, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (false, type);
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail686:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_400 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail687;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1220, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[3])) goto next_after_fail687;
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[2];
      _o1[1] = unshare_expr (captures[3]);
      _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    {
      tree _o1[2], _r1;
      {
	tree _o2[1], _r2;
	_o2[0] = captures[4];
	_r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	if (EXPR_P (_r2))
	  goto next_after_fail687;
	_o1[0] = _r2;
      }
      _o1[1] = captures[3];
      _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      if (EXPR_P (_r1))
        goto next_after_fail687;
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail687:;
  return NULL_TREE;
}

static tree
generic_simplify_401 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail688;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1225, __FILE__, __LINE__);
  {
    if (! tree_invariant_p (captures[3])) goto next_after_fail688;
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[2];
      _o1[1] = unshare_expr (captures[3]);
      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree res_op1;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[4];
      _o1[1] = captures[3];
      _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      if (EXPR_P (_r1))
        goto next_after_fail688;
      res_op1 = _r1;
    }
    tree _r;
    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    return _r;
  }
next_after_fail688:;
  return NULL_TREE;
}

static tree
generic_simplify_402 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 8486 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (VECTOR_FLOAT_TYPE_P (type)
 && TYPE_VECTOR_SUBPARTS (type).is_constant ()
)
    {
      {
/* #line 8488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree perm_cst = captures[1];
 vec_perm_builder builder;
 bool full_perm_p = false;
 if (tree_to_vec_perm_builder (&builder, perm_cst))
 {
 unsigned HOST_WIDE_INT nelts;
 nelts = TYPE_VECTOR_SUBPARTS (type).to_constant ();
 vec_perm_indices sel (builder, 1, nelts);
 if (sel.encoding ().encoded_full_vector_p ())
 {
 auto_sbitmap seen (nelts);
 bitmap_clear (seen);
 unsigned HOST_WIDE_INT count = 0, i;
 for (i = 0; i < nelts; i++)
 {
 if (!bitmap_set_bit (seen, sel[i].to_constant ()))
 break;
 count++;
 }
 full_perm_p = count == nelts;
 }
 }
/* #line 8519 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (full_perm_p
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail689;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail689;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8520, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[2];
		  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  captures[3] = _r1;
		}
		res_op0 = unshare_expr (captures[3]);
		tree res_op1;
		res_op1 = captures[3];
		tree res_op2;
		res_op2 = captures[1];
		tree _r;
		_r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail689:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_403 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 7355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[1]))
 && !TYPE_SATURATING (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 7359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 7360 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail690;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail690;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail690;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7362, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == NE_EXPR, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail690:;
	    }
	  else
	    {
/* #line 7363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail691;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail691;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail691;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7364, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 =  TREE_OVERFLOW (res)
 ? drop_tree_overflow (res) : res;
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail691:;
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_404 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail692;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2924, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[2];
	    tree res_op1;
	    res_op1 = captures[1];
	    tree _r;
	    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail692:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_405 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 7373 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 7374 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail693;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail693;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail693;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7375, __FILE__, __LINE__);
	      {
		tree _r;
 fold_overflow_warning (("assuming signed overflow does not occur "
 "when simplifying conditional to constant"),
 WARN_STRICT_OVERFLOW_CONDITIONAL);
 bool less = cmp == LE_EXPR || cmp == LT_EXPR;
 bool ovf_high = wi::lt_p (wi::to_wide (captures[2]), 0,
 TYPE_SIGN (TREE_TYPE (captures[2])))
 != (op == MINUS_EXPR);		_r = 
 constant_boolean_node (less == ovf_high, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail693:;
	    }
	  else
	    {
/* #line 7386 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  {
/* #line 7387 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 fold_overflow_warning (("assuming signed overflow does not occur "
 "when changing X +- C1 cmp C2 to "
 "X cmp C2 -+ C1"),
 WARN_STRICT_OVERFLOW_COMPARISON);
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail694;
		      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail694;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail694;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7394, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree res_op1;
			res_op1 =  res;
			tree _r;
			_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail694:;
		  }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_406 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail695;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1032, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail695:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_407 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (ffs))
{
  {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7871 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (integer_zerop (captures[2])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail696;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7872, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail696:;
	}
      else
	{
/* #line 7873 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) > prec
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail697;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7874, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == NE_EXPR ? true : false, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail697:;
	    }
	  else
	    {
/* #line 7875 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail698;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail698;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7876, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[1];
		      _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
 wi::mask (tree_to_uhwi (captures[2]),
 false, prec));
		      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
 wi::shifted_mask (tree_to_uhwi (captures[2]) - 1, 1,
 false, prec));
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail698:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_408 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6033 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
)
    {
      {
/* #line 6037 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 6041 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (cmp == GE_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail699;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail699;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail699;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6042, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[0];
		    _o2[1] = shifter;
		    _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    _o1[0] = _r2;
		  }
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail699:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail700;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail700;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail700;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6043, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    {
		      tree _o3[2], _r3;
		      _o3[0] = captures[0];
		      _o3[1] = shifter;
		      _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		      _o2[0] = _r3;
		    }
		    if (TREE_TYPE (_o2[0]) != type)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail700:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_409 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
 && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
)
    {
      {
/* #line 4235 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wi::overflow_type overflow;
 wide_int mul = wi::mul (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (type), &overflow);
/* #line 4241 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (types_match (type, TREE_TYPE (captures[2]))
 && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[2])) && !overflow
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail701;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail701;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail701;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4243, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 =  wide_int_to_tree (type, mul);
		tree _r;
		_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail701:;
	    }
	  else
	    {
	      {
/* #line 4244 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail702;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail702;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail702;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4245, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[0];
			if (TREE_TYPE (_o2[0]) != utype)
			  {
			    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
			  }
			else
			  _r2 = _o2[0];
			_o1[0] = _r2;
		      }
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[1];
			  if (TREE_TYPE (_o3[0]) != utype)
			    {
			      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
			    }
			  else
			    _r3 = _o3[0];
			  _o2[0] = _r3;
			}
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[2];
			  if (TREE_TYPE (_o3[0]) != utype)
			    {
			      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
			    }
			  else
			    _r3 = _o3[0];
			  _o2[1] = _r3;
			}
			_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			_o1[1] = _r2;
		      }
		      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail702:;
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_410 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail703;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail703;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5142, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail703:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_411 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail704;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail704;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2656, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail704:;
  return NULL_TREE;
}

static tree
generic_simplify_412 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
)
{
/* #line 1764 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (! TYPE_UNSIGNED (type)
 && ! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail705;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1767, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail705:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_413 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (ctz))
{
  {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool ok = true;
 HOST_WIDE_INT val = 0;
 if (!tree_fits_shwi_p (captures[2]))
 ok = false;
 else
 {
 val = tree_to_shwi (captures[2]);
 if (op == GT_EXPR || op == LE_EXPR)
 {
 if (val == HOST_WIDE_INT_MAX)
 ok = false;
 else
 val++;
 }
 }
 bool zero_res = false;
 HOST_WIDE_INT zero_val = 0;
 tree type0 = TREE_TYPE (captures[1]);
 int prec = TYPE_PRECISION (type0);
 if (ctz == CFN_CTZ
 && CTZ_DEFINED_VALUE_AT_ZERO (SCALAR_TYPE_MODE (type0),
 zero_val) == 2)
 zero_res = true;
/* #line 7683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (val <= 0
)
	{
/* #line 7684 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ok && (!zero_res || zero_val >= val)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail706;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail706;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7685, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail706:;
	    }
	}
      else
	{
/* #line 7686 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (val >= prec
)
	    {
/* #line 7687 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (ok && (!zero_res || zero_val < val)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail707;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail707;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7688, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail707:;
		}
	    }
	  else
	    {
/* #line 7689 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (ok && (!zero_res || zero_val < 0 || zero_val >= prec)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail708;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail708;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7690, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[1];
		      _o1[1] =  wide_int_to_tree (type0,
 wi::mask (val, false, prec));
		      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    res_op1 =  build_zero_cst (type0);
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail708:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_414 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (fns))
{
/* #line 7081 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail709;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7088, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
	return _r;
      }
next_after_fail709:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_415 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
 bool val;
 switch (code2)
 {
 case EQ_EXPR: val = (cmp == 0); break;
 case NE_EXPR: val = (cmp != 0); break;
 case LT_EXPR: val = (cmp < 0); break;
 case GT_EXPR: val = (cmp > 0); break;
 case LE_EXPR: val = (cmp <= 0); break;
 case GE_EXPR: val = (cmp >= 0); break;
 default: gcc_unreachable ();
 }
/* #line 2787 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail710;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail710;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail710;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2787, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[3];
	    return _r;
	  }
next_after_fail710:;
	}
      else
	{
/* #line 2788 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail711;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail711;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail711;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2788, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (true, type);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail711:;
	    }
	  else
	    {
/* #line 2789 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail712;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail712;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail712;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2789, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail712:;
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_416 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 8359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail713;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8360, __FILE__, __LINE__);
      {
	if (! tree_invariant_p (captures[2])) goto next_after_fail713;
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = unshare_expr (captures[2]);
	    _o2[1] = captures[2];
	    _o2[2] = captures[4];
	    _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[5];
	tree _r;
	_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail713:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_417 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TREE_CODE (TREE_TYPE (captures[0])) != BOOLEAN_TYPE
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail714;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2023, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail714:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_418 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1127 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail715;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail715;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1130, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail715:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_419 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail716;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail716;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6371, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
	tree _r;
	_r = fold_build2_loc (loc, out, type, res_op0, res_op1);
	return _r;
      }
next_after_fail716:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_420 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (floor_divmod), const enum tree_code ARG_UNUSED (trunc_divmod))
{
/* #line 458 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
 && TYPE_UNSIGNED (type)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail717;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 460, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, trunc_divmod, type, res_op0, res_op1);
	return _r;
      }
next_after_fail717:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_421 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail718;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2276, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail718:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_422 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 off0, off1;
 tree base0, base1;
 int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
 off0, off1,
1
);
/* #line 3495 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3496 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3497 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail719;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail719;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail719;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3498, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail719:;
		}
	      else
		{
/* #line 3499 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail720;
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail720;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail720;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3500, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail720:;
		    }
		}
	    }
	  else
	    {
/* #line 3501 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail721;
		  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail721;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail721;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3502, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[0];
		    return _r;
		  }
next_after_fail721:;
		}
	      else
		{
/* #line 3503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail722;
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail722;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail722;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3504, __FILE__, __LINE__);
		      {
			tree _r;
			_r = captures[2];
			return _r;
		      }
next_after_fail722:;
		    }
		}
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_423 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (cmp2))
{
/* #line 5683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
)
    {
      {
/* #line 5686 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = TREE_TYPE (captures[2]);
 wide_int denom = wi::to_wide (captures[1]);
 wide_int right = wi::to_wide (captures[2]);
 wide_int smax = wi::sdiv_trunc (wi::max_value (TREE_TYPE (captures[0])), denom);
 wide_int smin = wi::sdiv_trunc (wi::min_value (TREE_TYPE (captures[0])), denom);
 bool small = wi::leu_p (right, smax);
 bool large = wi::geu_p (right, smin);
/* #line 5696 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (small || large
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail723;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail723;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail723;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5697, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (TREE_TYPE (_o1[0]) != utype)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[1];
		    if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op1 = _r1;
		}
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail723:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail724;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail724;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail724;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5698, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
		tree _r;
		_r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail724:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_424 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2133 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail725;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail725;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2135, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[3];
	    tree res_op2;
	    res_op2 =  build_zero_cst (type);
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail725:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_425 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 713 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail726;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 714, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail726:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_426 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 3437 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE
 && (! ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_UNDEFINED (type))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail727;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3440, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	return _r;
      }
next_after_fail727:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_427 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2099 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail728;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2100, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
	return _r;
      }
next_after_fail728:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_428 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5954 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail729;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5955, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
	      {
		_r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail729:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_429 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 8355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail730;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8356, __FILE__, __LINE__);
      {
	if (! tree_invariant_p (captures[2])) goto next_after_fail730;
	tree res_op0;
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = unshare_expr (captures[2]);
	    _o2[1] = captures[2];
	    _o2[2] = captures[4];
	    _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[5];
	tree _r;
	_r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail730:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_430 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (div))
{
/* #line 410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail731;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 411, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail731:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_431 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail732;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3708, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail732:;
  return NULL_TREE;
}

static tree
generic_simplify_432 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (rep), const combined_fn ARG_UNUSED (popcount))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail733;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail733;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7731, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    tree _r;
    _r = fold_build2_loc (loc, rep, type, res_op0, res_op1);
    return _r;
  }
next_after_fail733:;
  return NULL_TREE;
}

static tree
generic_simplify_433 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail734;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail734;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 366, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = non_lvalue_loc (loc, res_op0);
    return _r;
  }
next_after_fail734:;
  return NULL_TREE;
}

static tree
generic_simplify_434 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 5094 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 5095 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == 1
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail735;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5096, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst) - 1));
	    tree _r;
	    _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail735:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_435 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail736;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail736;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2671, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[2];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail736:;
  return NULL_TREE;
}

static tree
generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6018 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
)
    {
      {
/* #line 6022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 6026 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (cmp == LT_EXPR
)
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail737;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail737;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail737;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6027, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[0];
		    _o2[1] = shifter;
		    _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    _o1[0] = _r2;
		  }
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail737:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail738;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail738;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail738;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6028, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    {
		      tree _o3[2], _r3;
		      _o3[0] = captures[0];
		      _o3[1] = shifter;
		      _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		      _o2[0] = _r3;
		    }
		    if (TREE_TYPE (_o2[0]) != type)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail738:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_437 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (coss), const combined_fn ARG_UNUSED (atans), const combined_fn ARG_UNUSED (sqrts), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 6703 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 REAL_VALUE_TYPE r_cst;
 build_sinatan_real (&r_cst, type);
 tree t_cst = build_real (type, r_cst);
 tree t_one = build_one_cst (type);
 tree t_zero = build_zero_cst (type);
/* #line 6711 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail739;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6712, __FILE__, __LINE__);
	  {
	    if (! tree_invariant_p (captures[1])) goto next_after_fail739;
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = unshare_expr (captures[1]);
		_r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
		_o1[0] = _r2;
	      }
	      _o1[1] =  t_cst;
	      _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  t_one;
	      {
		tree _o2[1], _r2;
		{
		  tree _o3[2], _r3;
		  {
		    tree _o4[2], _r4;
		    _o4[0] = unshare_expr (captures[1]);
		    _o4[1] = unshare_expr (captures[1]);
		    _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
		    _o3[0] = _r4;
		  }
		  _o3[1] =  t_one;
		  _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  _o2[0] = _r3;
		}
		_r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
		if (!_r2)
		  goto next_after_fail739;
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op1 = _r1;
	    }
	    tree res_op2;
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  t_zero;
	      _o1[1] = captures[1];
	      _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
	      if (!_r1)
	        goto next_after_fail739;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail739:;
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_438 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail740;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail740;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2626, __FILE__, __LINE__);
      {
	tree _r;
	_r =  constant_boolean_node (false, type);
	if (TREE_SIDE_EFFECTS (captures[2]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	return _r;
      }
next_after_fail740:;
    }
  else
    {
/* #line 2627 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail741;
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail741;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail741;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2628, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail741:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_439 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && op != MULT_EXPR
 && op != RDIV_EXPR
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && type_has_mode_precision_p (TREE_TYPE (captures[2]))
 && type_has_mode_precision_p (TREE_TYPE (captures[4]))
 && type_has_mode_precision_p (type)
 && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
 && types_match (captures[2], type)
 && (types_match (captures[2], captures[4])
 || poly_int_tree_p (captures[3]))
)
    {
/* #line 7220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail742;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7221, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[2];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail742:;
	}
      else
	{
	  {
/* #line 7222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail743;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7223, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (TREE_TYPE (_o2[0]) != utype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail743:;
	  }
	}
    }
  else
    {
/* #line 7225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 7228 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree arg0 = strip_float_extensions (captures[2]);
 tree arg1 = strip_float_extensions (captures[4]);
 tree itype = TREE_TYPE (captures[0]);
 tree ty1 = TREE_TYPE (arg0);
 tree ty2 = TREE_TYPE (arg1);
 enum tree_code code = TREE_CODE (itype);
/* #line 7234 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7236 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newtype = type;
 if (TYPE_MODE (ty1) == SDmode
 || TYPE_MODE (ty2) == SDmode
 || TYPE_MODE (type) == SDmode)
 newtype = dfloat32_type_node;
 if (TYPE_MODE (ty1) == DDmode
 || TYPE_MODE (ty2) == DDmode
 || TYPE_MODE (type) == DDmode)
 newtype = dfloat64_type_node;
 if (TYPE_MODE (ty1) == TDmode
 || TYPE_MODE (ty2) == TDmode
 || TYPE_MODE (type) == TDmode)
 newtype = dfloat128_type_node;
/* #line 7249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail744;
			  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail744;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail744;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7254, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (TREE_TYPE (_o1[0]) != newtype)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail744:;
			}
		      else
			{
			  {
/* #line 7255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 7280 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (TYPE_PRECISION (newtype) < TYPE_PRECISION (itype)
 && (flag_unsafe_math_optimizations
 || (TYPE_PRECISION (newtype) == TYPE_PRECISION (type)
 && real_can_shorten_arithmetic (TYPE_MODE (itype),
 TYPE_MODE (type))
 && !excess_precision_type (newtype)))
 && !types_match (itype, newtype)
)
				{
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail745;
				  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail745;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail745;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7287, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (TREE_TYPE (_o2[0]) != newtype)
					  {
					    _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail745:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_440 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail746;
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail746;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail746;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2680, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail746:;
    }
  else
    {
/* #line 2681 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail747;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail747;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2682, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r =  constant_boolean_node (true, type);
	    if (TREE_SIDE_EFFECTS (captures[2]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	    return _r;
	  }
next_after_fail747:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_441 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (ifn), const combined_fn ARG_UNUSED (lfn), const combined_fn ARG_UNUSED (llfn))
{
/* #line 7096 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7109 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail748;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7113, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
	    if (!_r)
	      goto next_after_fail748;
	    return _r;
	  }
next_after_fail748:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_442 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2687 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail749;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail749;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2689, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[3];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail749:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_443 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (PARITY))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail750;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7747, __FILE__, __LINE__);
  {
    tree res_op0;
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[3];
      _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      res_op0 = _r1;
    }
    tree _r;
    _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    if (!_r)
      goto next_after_fail750;
    return _r;
  }
next_after_fail750:;
  return NULL_TREE;
}

static tree
generic_simplify_444 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail751;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail751;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1190, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail751:;
  return NULL_TREE;
}

static tree
generic_simplify_445 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3358 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type)
 && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
)
    {
      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail752;
      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail752;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail752;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3360, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 =  wide_int_to_tree (type, wi::to_wide (captures[2]) + wi::to_wide (captures[4]));
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail752:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_446 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
 && targetm.libc_has_function (function_c99_misc, NULL_TREE)
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail753;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6982, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
	  if (!_r1)
	    goto next_after_fail753;
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail753:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_447 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 3613 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
0
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail754;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3615, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (TREE_TYPE (_o1[0]) != boolean_type_node)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 = captures[1];
	tree res_op2;
	res_op2 = captures[0];
	tree _r;
	_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	return _r;
      }
next_after_fail754:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_448 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2139 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail755;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail755;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2141, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[3];
	    tree res_op2;
	    res_op2 =  build_zero_cst (type);
	    tree _r;
	    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail755:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_449 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (FMAX_ALL))
{
/* #line 3531 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail756;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3537, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 = captures[1];
	tree _r;
	_r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail756:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail757;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6869, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    _o1[1] = _r2;
	  }
	  _r1 = maybe_build_call_expr_loc (loc, POW, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
	  if (!_r1)
	    goto next_after_fail757;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail757:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_451 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail758;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1320, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 =  build_all_ones_cst (TREE_TYPE (captures[0]));
    tree _r;
    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    if (TREE_SIDE_EFFECTS (captures[0]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    return _r;
  }
next_after_fail758:;
  return NULL_TREE;
}

static tree
generic_simplify_452 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
 && tree_fits_uhwi_p (captures[4])
 && tree_to_uhwi (captures[4]) > 0
 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
)
    {
      {
/* #line 3864 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR)
 zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR
 && type_has_mode_precision_p (shift_type))
 {
 prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
 tree arg00 = captures[3];
 if (captures[2] != captures[3]
 && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
 {
 tree inner_type = TREE_TYPE (captures[3]);
 if (type_has_mode_precision_p (inner_type)
 && TYPE_PRECISION (inner_type) < prec)
 {
 prec = TYPE_PRECISION (inner_type);
 if (shiftc < prec)
 shift_type = inner_type;
 }
 }
 zerobits = HOST_WIDE_INT_M1U;
 if (shiftc < prec)
 {
 zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
 zerobits <<= prec - shiftc;
 }
 if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
 && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
 {
 if ((mask & zerobits) == 0)
 shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
 else
 zerobits = 0;
 }
 }
/* #line 3918 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail759;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail759;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail759;
	      if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail759;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail759;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3919, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  build_int_cst (type, 0);
		return _r;
	      }
next_after_fail759:;
	    }
	  else
	    {
	      {
/* #line 3920 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3921 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3922 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
 if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
 break;
/* #line 3931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3933 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3935 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3936 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail760;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail760;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail760;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3937, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (TREE_TYPE (_o3[0]) != shift_type)
						    {
						      _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						_r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      if (TREE_TYPE (_o1[0]) != type)
						{
						  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						}
					      else
					        _r1 = _o1[0];
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail760:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail761;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail761;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail761;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 = captures[0];
					    tree res_op1;
					    res_op1 =  newmaskt;
					    tree _r;
					    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail761:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_453 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5155 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[1]));
/* #line 5157 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail762;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail762;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5158, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[2];
		tree _r;
		_r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail762:;
	    }
	  else
	    {
/* #line 5159 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail763;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail763;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5160, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[2];
		    tree _r;
		    _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail763:;
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_454 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail764;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail764;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5172, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree res_op1;
	res_op1 = captures[2];
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	return _r;
      }
next_after_fail764:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_455 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (pfun))
{
/* #line 7754 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      {
/* #line 7755 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wide_int nz = tree_nonzero_bits (captures[0]);
/* #line 7757 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (nz == 1
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail765;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail765;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7758, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail765:;
	    }
	  else
	    {
/* #line 7759 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (wi::popcount (nz) == 1
)
		{
		  {
/* #line 7760 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail766;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail766;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7761, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[0];
			    if (TREE_TYPE (_o2[0]) != utype)
			      {
				_r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
			      }
			    else
			      _r2 = _o2[0];
			    _o1[0] = _r2;
			  }
			  _o1[1] =  build_int_cst (integer_type_node,
 wi::ctz (nz));
			  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail766:;
		  }
		}
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_456 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (plusminus))
{
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3266 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 3269 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
 || (INTEGRAL_TYPE_P (type)
 && ((tree_expr_nonzero_p (captures[0])
 && expr_not_equal_to (captures[0],
 wi::minus_one (TYPE_PRECISION (type))))
 || (plusminus == PLUS_EXPR
 ? expr_not_equal_to (captures[2],
 wi::max_value (TYPE_PRECISION (type), SIGNED))
 : (expr_not_equal_to (captures[2],
 wi::min_value (TYPE_PRECISION (type), SIGNED))
 && expr_not_equal_to (captures[2],
 wi::min_value (TYPE_PRECISION (type), SIGNED)
 + 1))))))
 && single_use (captures[1])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail767;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3289, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] =  build_one_cst (type);
		  _o1[1] = captures[2];
		  _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[0];
		tree _r;
		_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail767:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_457 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (op))
{
  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail768;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail768;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1622, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail768:;
  return NULL_TREE;
}

static tree
generic_simplify_458 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail769;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1341, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree _r;
    _r = non_lvalue_loc (loc, res_op0);
    return _r;
  }
next_after_fail769:;
  return NULL_TREE;
}

static tree
generic_simplify_459 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2])
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail770;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6809, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[2];
	      _o1[1] =  build_one_cst (type);
	      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
	    if (!_r)
	      goto next_after_fail770;
	    return _r;
	  }
next_after_fail770:;
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_460 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1877 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!CONSTANT_CLASS_P (captures[0])
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail771;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1880, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[2];
	  _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  if (EXPR_P (_r1))
	    goto next_after_fail771;
	  res_op1 = _r1;
	}
	tree _r;
	_r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
	return _r;
      }
next_after_fail771:;
    }
  else
    {
      {
/* #line 1889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
/* #line 1890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (cst1
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail772;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail772;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail772;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1891, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  cst1;
		tree _r;
		_r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail772:;
	    }
	  else
	    {
	      {
/* #line 1892 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
/* #line 1893 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (cst2
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail773;
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail773;
		      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail773;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail773;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1894, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 =  cst2;
			tree _r;
			_r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail773:;
		    }
	      }
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_461 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail774;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6784, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail774:;
  return NULL_TREE;
}

static tree
generic_simplify_462 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (eqcmp))
{
/* #line 5748 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5749 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree ty = TREE_TYPE (captures[0]);
 unsigned prec = TYPE_PRECISION (ty);
 wide_int mask = wi::to_wide (captures[2], prec);
 wide_int rhs = wi::to_wide (captures[3], prec);
 signop sgn = TYPE_SIGN (ty);
/* #line 5757 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((mask & (mask + 1)) == 0 && wi::gt_p (rhs, 0, sgn)
 && (rhs & (rhs + 1)) == 0 && wi::ge_p (mask, rhs, sgn)
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail775;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail775;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail775;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5759, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[1];
		  _o1[1] =  wide_int_to_tree (ty, mask - rhs);
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 =  build_zero_cst (ty);
		tree _r;
		_r = fold_build2_loc (loc, eqcmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail775:;
	    }
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_463 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[1]))
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail776;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5303, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree res_op1;
	res_op1 =  build_real (TREE_TYPE (captures[1]), dconst0);
	tree _r;
	_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	if (TREE_SIDE_EFFECTS (captures[1]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	return _r;
      }
next_after_fail776:;
    }
  else
    {
/* #line 5305 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TREE_CODE (captures[0]) == REAL_CST
 && REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[0]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail777;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5307, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 =  build_real (TREE_TYPE (captures[0]), dconst0);
	    tree res_op1;
	    res_op1 = captures[1];
	    tree _r;
	    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail777:;
	}
      else
	{
/* #line 5309 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
 && (cmp == EQ_EXPR || cmp == NE_EXPR || !flag_trapping_math)
 && !tree_expr_signaling_nan_p (captures[1])
 && !tree_expr_maybe_signaling_nan_p (captures[0])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail778;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5313, __FILE__, __LINE__);
	      {
		tree _r;
		_r =  constant_boolean_node (cmp == NE_EXPR, type);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail778:;
	    }
	  else
	    {
/* #line 5315 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TREE_CODE (captures[0]) == REAL_CST
 && REAL_VALUE_ISNAN (TREE_REAL_CST (captures[0]))
 && (cmp == EQ_EXPR || cmp == NE_EXPR || !flag_trapping_math)
 && !tree_expr_signaling_nan_p (captures[0])
 && !tree_expr_signaling_nan_p (captures[1])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail779;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5320, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  constant_boolean_node (cmp == NE_EXPR, type);
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail779:;
		}
	      else
		{
/* #line 5322 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (REAL_VALUE_ISINF (TREE_REAL_CST (captures[1]))
 && MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (captures[1])))
)
		    {
		      {
/* #line 5324 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 REAL_VALUE_TYPE max;
 enum tree_code code = cmp;
 bool neg = REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]));
 if (neg)
 code = swap_tree_comparison (code);
/* #line 5334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (code == GT_EXPR
 && !(HONOR_NANS (captures[0]) && flag_trapping_math)
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail780;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5336, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  constant_boolean_node (false, type);
				if (TREE_SIDE_EFFECTS (captures[0]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				if (TREE_SIDE_EFFECTS (captures[1]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				return _r;
			      }
next_after_fail780:;
			    }
			  else
			    {
/* #line 5337 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (code == LE_EXPR
)
				{
/* #line 5339 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail781;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5340, __FILE__, __LINE__);
				      {
					tree _r;
					_r =  constant_boolean_node (true, type);
					if (TREE_SIDE_EFFECTS (captures[0]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					return _r;
				      }
next_after_fail781:;
				    }
				  else
				    {
/* #line 5343 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (!flag_trapping_math
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail782;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5344, __FILE__, __LINE__);
					  {
					    if (! tree_invariant_p (captures[0])) goto next_after_fail782;
					    tree res_op0;
					    res_op0 = unshare_expr (captures[0]);
					    tree res_op1;
					    res_op1 = captures[0];
					    tree _r;
					    _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
					    if (TREE_SIDE_EFFECTS (captures[1]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					    return _r;
					  }
next_after_fail782:;
					}
				    }
				}
			      else
				{
/* #line 5347 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if ((code == EQ_EXPR && !(HONOR_NANS (captures[0]) && flag_trapping_math))
 || code == GE_EXPR
)
				    {
				      {
/* #line 5349 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5350 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (neg
)
					    {
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail783;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5351, __FILE__, __LINE__);
					      {
						tree res_op0;
						res_op0 = captures[0];
						tree res_op1;
						res_op1 =  build_real (TREE_TYPE (captures[0]), max);
						tree _r;
						_r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
						if (TREE_SIDE_EFFECTS (captures[1]))
						  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
						return _r;
					      }
next_after_fail783:;
					    }
					  else
					    {
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail784;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5352, __FILE__, __LINE__);
					      {
						tree res_op0;
						res_op0 = captures[0];
						tree res_op1;
						res_op1 =  build_real (TREE_TYPE (captures[0]), max);
						tree _r;
						_r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
						if (TREE_SIDE_EFFECTS (captures[1]))
						  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
						return _r;
					      }
next_after_fail784:;
					    }
				      }
				    }
				  else
				    {
/* #line 5354 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (code == LT_EXPR
)
					{
					  {
/* #line 5355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5356 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (neg
)
						{
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail785;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5357, __FILE__, __LINE__);
						  {
						    tree res_op0;
						    res_op0 = captures[0];
						    tree res_op1;
						    res_op1 =  build_real (TREE_TYPE (captures[0]), max);
						    tree _r;
						    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
						    if (TREE_SIDE_EFFECTS (captures[1]))
						      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
						    return _r;
						  }
next_after_fail785:;
						}
					      else
						{
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail786;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5358, __FILE__, __LINE__);
						  {
						    tree res_op0;
						    res_op0 = captures[0];
						    tree res_op1;
						    res_op1 =  build_real (TREE_TYPE (captures[0]), max);
						    tree _r;
						    _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
						    if (TREE_SIDE_EFFECTS (captures[1]))
						      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
						    return _r;
						  }
next_after_fail786:;
						}
					  }
					}
				      else
					{
/* #line 5361 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (code == NE_EXPR
)
					    {
					      {
/* #line 5362 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						  if (! HONOR_NANS (captures[0])
)
						    {
/* #line 5364 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (neg
)
							{
							  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail787;
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5365, __FILE__, __LINE__);
							  {
							    tree res_op0;
							    res_op0 = captures[0];
							    tree res_op1;
							    res_op1 =  build_real (TREE_TYPE (captures[0]), max);
							    tree _r;
							    _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
							    if (TREE_SIDE_EFFECTS (captures[1]))
							      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
							    return _r;
							  }
next_after_fail787:;
							}
						      else
							{
							  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail788;
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5366, __FILE__, __LINE__);
							  {
							    tree res_op0;
							    res_op0 = captures[0];
							    tree res_op1;
							    res_op1 =  build_real (TREE_TYPE (captures[0]), max);
							    tree _r;
							    _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
							    if (TREE_SIDE_EFFECTS (captures[1]))
							      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
							    return _r;
							  }
next_after_fail788:;
							}
						    }
						  else
						    {
/* #line 5367 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (neg
)
							{
							  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail789;
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5368, __FILE__, __LINE__);
							  {
							    tree res_op0;
							    res_op0 = captures[0];
							    tree res_op1;
							    res_op1 =  build_real (TREE_TYPE (captures[0]), max);
							    tree _r;
							    _r = fold_build2_loc (loc, UNGE_EXPR, type, res_op0, res_op1);
							    if (TREE_SIDE_EFFECTS (captures[1]))
							      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
							    return _r;
							  }
next_after_fail789:;
							}
						      else
							{
							  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail790;
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5369, __FILE__, __LINE__);
							  {
							    tree res_op0;
							    res_op0 = captures[0];
							    tree res_op1;
							    res_op1 =  build_real (TREE_TYPE (captures[0]), max);
							    tree _r;
							    _r = fold_build2_loc (loc, UNLE_EXPR, type, res_op0, res_op1);
							    if (TREE_SIDE_EFFECTS (captures[1]))
							      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
							    return _r;
							  }
next_after_fail790:;
							}
						    }
					      }
					    }
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_464 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2912 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail791;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2914, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail791:;
	    }
	  else
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail792;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2915, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail792:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_465 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail793;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3993, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 = captures[2];
    tree _r;
    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    if (TREE_SIDE_EFFECTS (captures[1]))
      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    return _r;
  }
next_after_fail793:;
  return NULL_TREE;
}

static tree
generic_simplify_466 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail794;
  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail794;
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail794;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3997, __FILE__, __LINE__);
  {
    tree res_op0;
    res_op0 = captures[0];
    tree res_op1;
    res_op1 =  const_binop (invrot, TREE_TYPE (captures[0]), captures[2], captures[1]);
    tree _r;
    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    return _r;
  }
next_after_fail794:;
  return NULL_TREE;
}

static tree
generic_simplify_467 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 810 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
 && INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[1]))
 || TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 || !TYPE_UNSIGNED (type))
 && integer_pow2p (captures[2]) && tree_int_cst_sgn (captures[2]) > 0
)
    {
      {
/* #line 821 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = TREE_TYPE (captures[1]);
 if (!TYPE_OVERFLOW_WRAPS (utype))
 utype = unsigned_type_for (utype);
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail795;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail795;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 824, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] = captures[1];
		  if (TREE_TYPE (_o3[0]) != utype)
		    {
		      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		_o2[1] =  build_one_cst (utype);
		_r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		_o1[0] = _r2;
	      }
	      if (TREE_TYPE (_o1[0]) != type)
		{
		  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		}
	      else
	        _r1 = _o1[0];
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail795:;
      }
    }
  return NULL_TREE;
}

static tree
generic_simplify_468 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
)
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2930 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_OVERFLOW_UNDEFINED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail796;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2932, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail796:;
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_469 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
 && canonicalize_math_after_vectorization_p ()
)
    {
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail797;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail797;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1969, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[3], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[3];
	  _o1[2] = captures[5];
	  _r1 = fold_build3_loc (loc, COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
	  res_op0 = _r1;
	}
	tree res_op1;
	res_op1 =  build_one_cst (type);
	tree _r;
	_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
	return _r;
      }
next_after_fail797:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_470 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const combined_fn ARG_UNUSED (SINH), const combined_fn ARG_UNUSED (COSH), const combined_fn ARG_UNUSED (TANH))
{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail798;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6819, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[1];
	tree _r;
	_r = maybe_build_call_expr_loc (loc, TANH, type, 1, res_op0);
	if (!_r)
	  goto next_after_fail798;
	return _r;
      }
next_after_fail798:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_471 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !(targetm.have_canonicalize_funcptr_for_compare ()
 && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
 && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
 || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
 && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
 && single_use (captures[0])
)
    {
/* #line 5800 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
 && (TREE_CODE (captures[3]) == INTEGER_CST
 || captures[2] != captures[3])
 && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 || cmp == NE_EXPR
 || cmp == EQ_EXPR)
 && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
 && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
 || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
)
	{
/* #line 5815 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail799;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail799;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5816, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  force_fit_type (TREE_TYPE (captures[1]), wi::to_widest (captures[2]), 0,
 TREE_OVERFLOW (captures[2]));
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		if (TREE_SIDE_EFFECTS (captures[3]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
		return _r;
	      }
next_after_fail799:;
	    }
	  else
	    {
	      if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail800;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail800;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5818, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[2];
		  if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op1 = _r1;
		}
		tree _r;
		_r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail800:;
	    }
	}
      else
	{
/* #line 5820 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5822 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if ((cmp == EQ_EXPR || cmp == NE_EXPR
 || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
 && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
 || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
 >= TYPE_PRECISION (TREE_TYPE (captures[3])))
 && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
 || (TREE_CODE (captures[2]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail801;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5834, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail801:;
		}
	      else
		{
/* #line 5835 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (TREE_CODE (captures[2]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
)
		    {
		      {
/* #line 5838 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
 bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
/* #line 5845 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail802;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5847, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    if (TREE_SIDE_EFFECTS (captures[3]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
				    return _r;
				  }
next_after_fail802:;
				}
			      else
				{
/* #line 5848 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail803;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5849, __FILE__, __LINE__);
				      {
					tree _r;
					_r =  constant_boolean_node (above ? true : false, type);
					if (TREE_SIDE_EFFECTS (captures[1]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					if (TREE_SIDE_EFFECTS (captures[3]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
					return _r;
				      }
next_after_fail803:;
				    }
				  else
				    {
/* #line 5850 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail804;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5851, __FILE__, __LINE__);
					  {
					    tree _r;
					    _r =  constant_boolean_node (above ? false : true, type);
					    if (TREE_SIDE_EFFECTS (captures[1]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
					    if (TREE_SIDE_EFFECTS (captures[3]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
					    return _r;
					  }
next_after_fail804:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  else
    {
/* #line 5853 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
 && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
 && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
)
	{
	  {
/* #line 5858 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree type1 = TREE_TYPE (captures[3]);
 if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
 {
 REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
 if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
 && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
 type1 = float_type_node;
 if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
 && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
 type1 = double_type_node;
 }
 tree newtype
 = (TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (type1)
 ? TREE_TYPE (captures[1]) : type1);
/* #line 5875 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (newtype)
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail805;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5876, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (TREE_TYPE (_o1[0]) != newtype)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (TREE_TYPE (_o1[0]) != newtype)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail805:;
		}
	  }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_472 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree *captures
, const combined_fn ARG_UNUSED (floors))
{
/* #line 7074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail806;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7079, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
	return _r;
      }
next_after_fail806:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_473 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (inner_op), const enum tree_code ARG_UNUSED (neg_inner_op), const enum tree_code ARG_UNUSED (outer_op))
{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2947 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2950 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[0])
)
		{
/* #line 2951 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail807;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2952, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[0];
			  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
			  res_op0 = _r1;
			}
			tree res_op1;
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[2];
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[1];
			    _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
			    _o1[1] = _r2;
			  }
			  _r1 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  if (EXPR_P (_r1))
			    goto next_after_fail807;
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail807:;
		    }
		  else
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail808;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2953, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[0];
			  _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
			  res_op0 = _r1;
			}
			tree res_op1;
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[2];
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[1];
			    _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
			    _o1[1] = _r2;
			  }
			  _r1 = fold_build2_loc (loc, neg_inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  if (EXPR_P (_r1))
			    goto next_after_fail808;
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail808:;
		    }
		}
	    }
	  else
	    {
/* #line 2954 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
)
		{
/* #line 2956 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail809;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2957, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[0];
			  {
			    tree _o2[2], _r2;
			    {
			      tree _o3[1], _r3;
			      _o3[0] = captures[2];
			      _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
			      _o2[0] = _r3;
			    }
			    _o2[1] = captures[1];
			    _r2 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			    if (EXPR_P (_r2))
			      goto next_after_fail809;
			    _o1[1] = _r2;
			  }
			  _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail809:;
		    }
		  else
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail810;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2958, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[0];
			  {
			    tree _o2[2], _r2;
			    {
			      tree _o3[1], _r3;
			      _o3[0] = captures[2];
			      _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
			      _o2[0] = _r3;
			    }
			    _o2[1] = captures[1];
			    _r2 = fold_build2_loc (loc, neg_inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			    if (EXPR_P (_r2))
			      goto next_after_fail810;
			    _o1[1] = _r2;
			  }
			  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail810:;
		    }
		}
	      else
		{
/* #line 2962 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (types_match (type, captures[0]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 2963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree cst = const_binop (outer_op == inner_op
 ? PLUS_EXPR : MINUS_EXPR,
 type, captures[1], captures[2]);
/* #line 2966 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail811;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail811;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail811;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2967, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  cst;
				tree _r;
				_r = fold_build2_loc (loc, inner_op, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail811:;
			    }
			  else
			    {
/* #line 2969 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (INTEGRAL_TYPE_P (type) && cst
 && wi::to_wide (cst) == wi::min_value (type)
)
				{
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail812;
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail812;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail812;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2971, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 = captures[0];
				    tree res_op1;
				    res_op1 =  wide_int_to_tree (type, wi::to_wide (cst));
				    tree _r;
				    _r = fold_build2_loc (loc, neg_inner_op, type, res_op0, res_op1);
				    return _r;
				  }
next_after_fail812:;
				}
			      else
				{
				  {
/* #line 2973 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
/* #line 2974 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (utype
)
					{
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail813;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail813;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail813;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2975, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[1], _r2;
						_o2[0] = captures[0];
						_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o2[0]);
						_o1[0] = _r2;
					      }
					      {
						tree _o2[1], _r2;
						_o2[0] =  drop_tree_overflow (cst);
						_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o2[0]);
						_o1[1] = _r2;
					      }
					      _r1 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
					    return _r;
					  }
next_after_fail813:;
					}
				  }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return NULL_TREE;
}

static tree
generic_simplify_474 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (minmax))
{
  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail814;
  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3412, __FILE__, __LINE__);
  {
    tree _r;
    _r = captures[0];
    return _r;
  }
next_after_fail814:;
  return NULL_TREE;
}

static tree
generic_simplify_475 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
 tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *captures
, const enum tree_code ARG_UNUSED (inner_op), const enum tree_code ARG_UNUSED (outer_op))
{
  {
/* #line 2467 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool fail = false;
 wide_int zero_mask_not;
 wide_int C0;
 wide_int cst_emit;
 if (TREE_CODE (captures[1]) == SSA_NAME)
 zero_mask_not = get_nonzero_bits (captures[1]);
 else
 fail = true;
 if (inner_op == BIT_XOR_EXPR)
 {
 C0 = wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3]));
 cst_emit = C0 | wi::to_wide (captures[3]);
 }
 else
 {
 C0 = wi::to_wide (captures[2]);
 cst_emit = C0 ^ wi::to_wide (captures[3]);
 }
/* #line 2490 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!fail && (C0 & zero_mask_not) == 0
)
	{
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail815;
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail815;
	  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail815;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail815;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2491, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    res_op1 =  wide_int_to_tree (type, cst_emit);
	    tree _r;
	    _r = fold_build2_loc (loc, outer_op, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail815:;
	}
      else
	{
/* #line 2492 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!fail && (wi::to_wide (captures[3]) & zero_mask_not) == 0
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail816;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail816;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail816;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail816;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2493, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 =  wide_int_to_tree (type, cst_emit);
		tree _r;
		_r = fold_build2_loc (loc, inner_op, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail816:;
	    }
	}
  }
  return NULL_TREE;
}

static tree
generic_simplify_ABS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 160 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 160 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && element_precision (type) > element_precision (TREE_TYPE (captures[0]))
)
	    {
	      {
/* #line 163 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail817;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 164, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[0];
		      _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
		      res_op0 = _r1;
		    }
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail817:;
	      }
	    }
	}
        break;
      }
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 1649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail818;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail818;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1649, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail818:;
	}
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 1659 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail819;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1659, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail819:;
	}
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	{
/* #line 4471 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail820;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4471, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail820;
	      res_op1 = _r1;
	    }
	    tree res_op2;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[3];
	      _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail820;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail820:;
	}
        break;
      }
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 1668 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail821;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1668, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail821:;
    }
  }
  return NULL_TREE;
}

static tree
generic_simplify_BIT_NOT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 1200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		tree res = generic_simplify_302 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 1200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
		tree res = generic_simplify_302 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 1205 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		tree res = generic_simplify_348 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 1205 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
		tree res = generic_simplify_348 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 1355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail822;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1355, __FILE__, __LINE__);
		{
		  tree res_op0;
		  res_op0 = captures[0];
		  tree res_op1;
		  res_op1 = captures[1];
		  tree _r;
		  _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
		  return _r;
		}
next_after_fail822:;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 1369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail823;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1369, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[1];
	      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 = captures[2];
	    tree _r;
	    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail823:;
	}
	if (integer_each_onep (_q21))
	  {
	    {
/* #line 2077 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_253 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 1358 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		tree res = generic_simplify_9 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 1358 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		tree res = generic_simplify_9 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      {
/* #line 1372 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1372 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if ((INTEGRAL_TYPE_P (type)
 && TYPE_UNSIGNED (type))
 || (!TYPE_OVERFLOW_SANITIZED (type)
 && may_negate_without_overflow_p (captures[2]))
)
		  {
		    if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail824;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail824;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1376, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[1];
			_r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			res_op0 = _r1;
		      }
		      tree res_op1;
		      res_op1 =  const_unop (NEGATE_EXPR, type, captures[2]);
		      tree _r;
		      _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail824:;
		  }
	      }
	      break;
	    }
          default:;
          }
      if (integer_all_onesp (_q21))
	{
	  {
/* #line 2082 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	    tree res = generic_simplify_392 (loc, type, _p0, captures);
	    if (res) return res;
	  }
        }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 1397 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1397 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail825;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1398, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  if (EXPR_P (_r1))
		    goto next_after_fail825;
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[2];
		tree _r;
		_r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail825:;
	    }
	  else
	    {
/* #line 1402 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (INTEGRAL_TYPE_P (type)
 && !wi::neg_p (tree_nonzero_bits (captures[1]))
)
		{
		  {
/* #line 1404 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail826;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1405, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  {
			    tree _o2[1], _r2;
			    {
			      tree _o3[1], _r3;
			      _o3[0] = captures[1];
			      if (TREE_TYPE (_o3[0]) != stype)
				{
				  _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
				}
			      else
			        _r3 = _o3[0];
			      _o2[0] = _r3;
			    }
			    _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			    if (EXPR_P (_r2))
			      goto next_after_fail826;
			    _o1[0] = _r2;
			  }
			  _o1[1] = captures[2];
			  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail826:;
		  }
		}
	    }
	}
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
		      tree res = generic_simplify_225 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 3965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_225 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 1936 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail827;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1936, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail827:;
	}
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 2057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		tree res = generic_simplify_371 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_each_onep (_q31))
		{
		  {
/* #line 2077 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_253 (loc, type, _p0, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_all_onesp (_q31))
		{
		  {
/* #line 2082 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_392 (loc, type, _p0, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2089 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		      tree res = generic_simplify_143 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q30))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 2093 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
		      tree res = generic_simplify_255 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q31))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q31, 0);
		    {
/* #line 2093 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
		      tree res = generic_simplify_255 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case RSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  {
/* #line 3965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
			    tree res = generic_simplify_159 (loc, type, _p0, captures);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
		      tree res = generic_simplify_159 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case LROTATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
			    tree res = generic_simplify_51 (loc, type, _p0, captures, LROTATE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
		      tree res = generic_simplify_51 (loc, type, _p0, captures, LROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case RROTATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
			    tree res = generic_simplify_51 (loc, type, _p0, captures, RROTATE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
		      tree res = generic_simplify_51 (loc, type, _p0, captures, RROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 2057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_371 (loc, type, _p0, captures);
	  if (res) return res;
	}
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 2089 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		tree res = generic_simplify_143 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 2093 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		tree res = generic_simplify_255 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 2093 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		tree res = generic_simplify_255 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	if (tree_truth_valued_p (_q20))
	  {
	    if (tree_truth_valued_p (_q21))
	      {
		{
/* #line 2105 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 2105 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail828;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2107, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[1];
			  _o1[1] = captures[2];
			  _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail828:;
		    }
		}
	      }
	  }
        break;
      }
    case LROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
		      tree res = generic_simplify_173 (loc, type, _p0, captures, LROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_173 (loc, type, _p0, captures, LROTATE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case RROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
		      tree res = generic_simplify_173 (loc, type, _p0, captures, RROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 3978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_173 (loc, type, _p0, captures, RROTATE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	{
/* #line 4471 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail829;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4471, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail829;
	      res_op1 = _r1;
	    }
	    tree res_op2;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[3];
	      _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail829;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail829:;
	}
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	  if (res) return res;
	}
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case UNORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	  if (res) return res;
	}
        break;
      }
    case ORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	  if (res) return res;
	}
        break;
      }
    case UNLT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case UNLE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case UNGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case UNGE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 5114 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  tree res = generic_simplify_96 (loc, type, _p0, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_ABSU_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case ABSU_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 1653 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 1653 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
		  {
		    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail830;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail830;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1654, __FILE__, __LINE__);
		    {
		      tree _r;
		      _r = captures[1];
		      return _r;
		    }
next_after_fail830:;
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 1663 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail831;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1663, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail831:;
	}
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	{
/* #line 4471 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail832;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4471, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      _r1 = fold_build1_loc (loc, ABSU_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail832;
	      res_op1 = _r1;
	    }
	    tree res_op2;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[3];
	      _r1 = fold_build1_loc (loc, ABSU_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail832;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail832:;
	}
        break;
      }
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 1672 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail833;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1672, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	return _r;
      }
next_after_fail833:;
    }
  }
  return NULL_TREE;
}

static tree
generic_simplify_NEGATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_negate_expr_p (_q21))
	  {
	    {
/* #line 1727 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_74 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	  }
	if (tree_negate_expr_p (_q20))
	  {
	    {
/* #line 1727 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_74 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 1734 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1734 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((ANY_INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_SANITIZED (type))
 || (FLOAT_TYPE_P (type)
 && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && !HONOR_SIGNED_ZEROS (type))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail834;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1738, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[0];
		tree _r;
		_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail834:;
	    }
	}
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 1741 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1741 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_OVERFLOW_UNDEFINED (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail835;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1742, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		res_op1 = captures[0];
		tree _r;
		_r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail835:;
	    }
	}
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_negate_expr_p (_q21))
	  {
	    {
/* #line 1764 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_412 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	  }
	if (tree_negate_expr_p (_q20))
	  {
	    {
/* #line 1764 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_412 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_negate_expr_p (_q21))
	  {
	    {
/* #line 1771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail836;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1773, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[2];
		      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		      res_op1 = _r1;
		    }
		    tree _r;
		    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail836:;
		}
	    }
	  }
	if (tree_negate_expr_p (_q20))
	  {
	    {
/* #line 1777 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1777 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail837;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1779, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    res_op1 = captures[2];
		    tree _r;
		    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail837:;
		}
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case RSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 1784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		      tree res = generic_simplify_185 (loc, type, _p0, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (!TYPE_SATURATING (type)
)
		  {
/* #line 2866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (INTEGRAL_TYPE_P (type)
 && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
 || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
 && !TYPE_OVERFLOW_SANITIZED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail838;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2872, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree _r;
			  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			  return _r;
			}
next_after_fail838:;
		      }
		  }
	      }
	      break;
	    }
          default:;
          }
      {
	tree _q20_pops[1];
	if (tree_logical_inverted_value (_q20, _q20_pops))
	  {
	    tree _q30 = _q20_pops[0];
	    {
/* #line 5044 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 5044 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (INTEGRAL_TYPE_P (type)
 && TREE_CODE (type) != BOOLEAN_TYPE
 && TYPE_PRECISION (type) > 1
 && TREE_CODE (captures[2]) == SSA_NAME
 && ssa_name_has_boolean_range (captures[2])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail839;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5049, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[2];
		      if (TREE_TYPE (_o1[0]) != type)
			{
			  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			}
		      else
		        _r1 = _o1[0];
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    res_op1 =  build_all_ones_cst (type);
		    tree _r;
		    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail839:;
		}
	    }
}
      }
      if (tree_negate_expr_p (_q20))
	{
	  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    if (!TYPE_SATURATING (type)
)
	      {
/* #line 2875 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (SCALAR_FLOAT_TYPE_P (type)
 && ((DECIMAL_FLOAT_TYPE_P (type)
 == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (captures[0])))
 || !HONOR_SIGN_DEPENDENT_ROUNDING (type))
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail840;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2880, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[0];
			_r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			res_op0 = _r1;
		      }
		      tree _r;
		      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		      return _r;
		    }
next_after_fail840:;
		  }
	      }
	  }
        }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 1784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		tree res = generic_simplify_185 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 2064 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_336 (loc, type, _p0, captures);
	  if (res) return res;
	}
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_369 (loc, type, _p0, captures);
	  if (res) return res;
	}
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	{
/* #line 4471 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail841;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4471, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail841;
	      res_op1 = _r1;
	    }
	    tree res_op2;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[3];
	      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      if (EXPR_P (_r1))
	        goto next_after_fail841;
	      res_op2 = _r1;
	    }
	    tree _r;
	    _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail841:;
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_FMAF:
	  if (call_expr_nargs (_p0) == 3)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      tree _q22 = CALL_EXPR_ARG (_p0, 2);
	      {
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_100 (loc, type, _p0, captures, CFN_BUILT_IN_FMAF);
		if (res) return res;
	      }
	    }
  break;
	case CFN_BUILT_IN_FMA:
	  if (call_expr_nargs (_p0) == 3)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      tree _q22 = CALL_EXPR_ARG (_p0, 2);
	      {
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_100 (loc, type, _p0, captures, CFN_BUILT_IN_FMA);
		if (res) return res;
	      }
	    }
  break;
	case CFN_BUILT_IN_FMAL:
	  if (call_expr_nargs (_p0) == 3)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      tree _q22 = CALL_EXPR_ARG (_p0, 2);
	      {
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_100 (loc, type, _p0, captures, CFN_BUILT_IN_FMAL);
		if (res) return res;
	      }
	    }
  break;
	case CFN_FMA:
	  if (call_expr_nargs (_p0) == 3)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      tree _q22 = CALL_EXPR_ARG (_p0, 2);
	      {
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		tree res = generic_simplify_100 (loc, type, _p0, captures, CFN_FMA);
		if (res) return res;
	      }
	    }
  break;
	case CFN_FMS:
	  if (call_expr_nargs (_p0) == 3)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      tree _q22 = CALL_EXPR_ARG (_p0, 2);
	      {
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (canonicalize_math_after_vectorization_p ()
)
		  {
/* #line 7586 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (single_use (captures[0])
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail842;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7587, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree res_op2;
			  res_op2 = captures[3];
			  tree _r;
			  _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
			  if (!_r)
			    goto next_after_fail842;
			  return _r;
			}
next_after_fail842:;
		      }
		  }
	      }
	    }
  break;
	case CFN_FNMA:
	  if (call_expr_nargs (_p0) == 3)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      tree _q22 = CALL_EXPR_ARG (_p0, 2);
	      {
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (canonicalize_math_after_vectorization_p ()
)
		  {
/* #line 7600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (single_use (captures[0])
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail843;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7601, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree res_op2;
			  res_op2 = captures[3];
			  tree _r;
			  _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
			  if (!_r)
			    goto next_after_fail843;
			  return _r;
			}
next_after_fail843:;
		      }
		  }
	      }
	    }
  break;
	case CFN_FNMS:
	  if (call_expr_nargs (_p0) == 3)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      tree _q22 = CALL_EXPR_ARG (_p0, 2);
	      {
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (canonicalize_math_after_vectorization_p ()
)
		  {
/* #line 7614 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (single_use (captures[0])
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail844;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7615, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree res_op2;
			  res_op2 = captures[3];
			  tree _r;
			  _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
			  if (!_r)
			    goto next_after_fail844;
			  return _r;
			}
next_after_fail844:;
		      }
		  }
	      }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case BIT_NOT_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    {
/* #line 2064 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
	      tree res = generic_simplify_336 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	    break;
	  }
	case NEGATE_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
	      tree res = generic_simplify_369 (loc, type, _p0, captures);
	      if (res) return res;
	    }
	    break;
	  }
        default:;
        }
}
}
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      {
/* #line 5044 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
/* #line 5044 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (type)
 && TREE_CODE (type) != BOOLEAN_TYPE
 && TYPE_PRECISION (type) > 1
 && TREE_CODE (captures[2]) == SSA_NAME
 && ssa_name_has_boolean_range (captures[2])
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail845;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5049, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      {
		tree _o1[1], _r1;
		_o1[0] = captures[2];
		if (TREE_TYPE (_o1[0]) != type)
		  {
		    _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		  }
		else
		  _r1 = _o1[0];
		res_op0 = _r1;
	      }
	      tree res_op1;
	      res_op1 =  build_all_ones_cst (type);
	      tree _r;
	      _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
	      return _r;
	    }
next_after_fail845:;
	  }
      }
}
}
  return NULL_TREE;
}

static tree
generic_simplify_CONVERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
	  tree _q20_pops[1];
	  if (tree_nop_convert (_q20, _q20_pops))
	    {
	      tree _q30 = _q20_pops[0];
	      {
/* #line 1842 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_361 (loc, type, _p0, captures, BIT_AND_EXPR);
		if (res) return res;
	      }
}
	}
	{
	  tree _q21_pops[1];
	  if (tree_nop_convert (_q21, _q21_pops))
	    {
	      tree _q40 = _q21_pops[0];
	      {
/* #line 1842 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
		tree res = generic_simplify_361 (loc, type, _p0, captures, BIT_AND_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
	  tree _q20_pops[1];
	  if (tree_nop_convert (_q20, _q20_pops))
	    {
	      tree _q30 = _q20_pops[0];
	      {
/* #line 1842 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_361 (loc, type, _p0, captures, BIT_IOR_EXPR);
		if (res) return res;
	      }
}
	}
	{
	  tree _q21_pops[1];
	  if (tree_nop_convert (_q21, _q21_pops))
	    {
	      tree _q40 = _q21_pops[0];
	      {
/* #line 1842 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
		tree res = generic_simplify_361 (loc, type, _p0, captures, BIT_IOR_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
	  tree _q20_pops[1];
	  if (tree_nop_convert (_q20, _q20_pops))
	    {
	      tree _q30 = _q20_pops[0];
	      {
/* #line 1842 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
		tree res = generic_simplify_361 (loc, type, _p0, captures, BIT_XOR_EXPR);
		if (res) return res;
	      }
}
	}
	{
	  tree _q21_pops[1];
	  if (tree_nop_convert (_q21, _q21_pops))
	    {
	      tree _q40 = _q21_pops[0];
	      {
/* #line 1842 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
		tree res = generic_simplify_361 (loc, type, _p0, captures, BIT_XOR_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_zero_one_valued_p (_q20))
	  {
	    switch (TREE_CODE (_q21))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 2029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 2029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (captures[0]))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail846;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2032, __FILE__, __LINE__);
			{
			  tree res_op0;
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[1];
			    if (TREE_TYPE (_o1[0]) != type)
			      {
				_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			      }
			    else
			      _r1 = _o1[0];
			    res_op0 = _r1;
			  }
			  tree res_op1;
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[2];
			    if (TREE_TYPE (_o1[0]) != type)
			      {
				_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			      }
			    else
			      _r1 = _o1[0];
			    res_op1 = _r1;
			  }
			  tree _r;
			  _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			  return _r;
			}
next_after_fail846:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 2586 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 2586 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (POINTER_TYPE_P (type)
)
		  {
		    if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail847;
		    if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail847;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail847;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2587, __FILE__, __LINE__);
		    {
		      tree _r;
		      _r =  build_fold_addr_expr_with_type
 (build2 (MEM_REF, char_type_node, captures[0],
 wide_int_to_tree (ptr_type_node, wi::neg (wi::to_wide (captures[1])))),
 type);
		      return _r;
		    }
next_after_fail847:;
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3511 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		      tree res = generic_simplify_209 (loc, type, _p0, captures, MIN_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3511 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		      tree res = generic_simplify_209 (loc, type, _p0, captures, MAX_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4007 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 4007 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !integer_zerop (captures[2])
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
		  {
/* #line 4011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
 || wi::ltu_p (wi::to_wide (captures[2]), TYPE_PRECISION (type))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail848;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4013, __FILE__, __LINE__);
			{
			  tree res_op0;
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[1];
			    if (TREE_TYPE (_o1[0]) != type)
			      {
				_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			      }
			    else
			      _r1 = _o1[0];
			    res_op0 = _r1;
			  }
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
			  return _r;
			}
next_after_fail848:;
		      }
		    else
		      {
/* #line 4014 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (wi::ltu_p (wi::to_wide (captures[2]), TYPE_PRECISION (TREE_TYPE (captures[0])))
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail849;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4015, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r =  build_zero_cst (type);
			      if (TREE_SIDE_EFFECTS (captures[1]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail849:;
			  }
		      }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  {
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if ((
0
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
1
 && type == TREE_TYPE (captures[0]))
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail850;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4025, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[0];
	  return _r;
	}
next_after_fail850:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = element_precision (inside_type);
 int inside_unsignedp = TYPE_UNSIGNED (inside_type);
 int inter_int = INTEGRAL_TYPE_P (inter_type);
 int inter_ptr = POINTER_TYPE_P (inter_type);
 int inter_float = FLOAT_TYPE_P (inter_type);
 int inter_vec = VECTOR_TYPE_P (inter_type);
 unsigned int inter_prec = element_precision (inter_type);
 int inter_unsignedp = TYPE_UNSIGNED (inter_type);
 int final_int = INTEGRAL_TYPE_P (type);
 int final_ptr = POINTER_TYPE_P (type);
 int final_float = FLOAT_TYPE_P (type);
 int final_vec = VECTOR_TYPE_P (type);
 unsigned int final_prec = element_precision (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 4111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (((
0
 && useless_type_conversion_p (type, inside_type))
 || (
1
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail851;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4117, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail851:;
		}
	      else
		{
/* #line 4124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (((inter_int && inside_int) || (inter_float && inside_float))
 && (final_int || final_float)
 && inter_prec >= inside_prec
 && (inter_float || inter_unsignedp == inside_unsignedp)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail852;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4128, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail852:;
		    }
		  else
		    {
/* #line 4134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (inside_int && inter_int && final_int
 && ((inside_prec < inter_prec && inter_prec < final_prec
 && inside_unsignedp && !inter_unsignedp)
 || final_prec == inter_prec)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail853;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4138, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree _r;
			    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail853:;
			}
		      else
			{
/* #line 4151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (! inside_float && ! inter_float && ! final_float
 && ! inside_vec && ! inter_vec && ! final_vec
 && (inter_prec >= inside_prec || inter_prec >= final_prec)
 && ! (inside_int && inter_int
 && inter_unsignedp != inside_unsignedp
 && inter_prec < final_prec)
 && ((inter_unsignedp && inter_prec > inside_prec)
 == (final_unsignedp && final_prec > inter_prec))
 && ! (inside_ptr && inter_prec != final_prec)
 && ! (final_ptr && inside_prec != inter_prec)
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail854;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4161, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree _r;
				_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				return _r;
			      }
next_after_fail854:;
			    }
			  else
			    {
/* #line 4165 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (0
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail855;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4170, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[1];
				      _o1[1] =  wide_int_to_tree
 (inside_type,
 wi::mask (inter_prec, false,
 TYPE_PRECISION (inside_type)));
				      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail855:;
				}
			      else
				{
/* #line 4178 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (0
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail856;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4182, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree _r;
					_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					return _r;
				      }
next_after_fail856:;
				    }
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = element_precision (inside_type);
 int inside_unsignedp = TYPE_UNSIGNED (inside_type);
 int inter_int = INTEGRAL_TYPE_P (inter_type);
 int inter_ptr = POINTER_TYPE_P (inter_type);
 int inter_float = FLOAT_TYPE_P (inter_type);
 int inter_vec = VECTOR_TYPE_P (inter_type);
 unsigned int inter_prec = element_precision (inter_type);
 int inter_unsignedp = TYPE_UNSIGNED (inter_type);
 int final_int = INTEGRAL_TYPE_P (type);
 int final_ptr = POINTER_TYPE_P (type);
 int final_float = FLOAT_TYPE_P (type);
 int final_vec = VECTOR_TYPE_P (type);
 unsigned int final_prec = element_precision (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 4111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (((
0
 && useless_type_conversion_p (type, inside_type))
 || (
1
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail857;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4117, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail857:;
		}
	      else
		{
/* #line 4124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (((inter_int && inside_int) || (inter_float && inside_float))
 && (final_int || final_float)
 && inter_prec >= inside_prec
 && (inter_float || inter_unsignedp == inside_unsignedp)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail858;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4128, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail858:;
		    }
		  else
		    {
/* #line 4134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (inside_int && inter_int && final_int
 && ((inside_prec < inter_prec && inter_prec < final_prec
 && inside_unsignedp && !inter_unsignedp)
 || final_prec == inter_prec)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail859;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4138, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree _r;
			    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail859:;
			}
		      else
			{
/* #line 4151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (! inside_float && ! inter_float && ! final_float
 && ! inside_vec && ! inter_vec && ! final_vec
 && (inter_prec >= inside_prec || inter_prec >= final_prec)
 && ! (inside_int && inter_int
 && inter_unsignedp != inside_unsignedp
 && inter_prec < final_prec)
 && ((inter_unsignedp && inter_prec > inside_prec)
 == (final_unsignedp && final_prec > inter_prec))
 && ! (inside_ptr && inter_prec != final_prec)
 && ! (final_ptr && inside_prec != inter_prec)
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail860;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4161, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree _r;
				_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				return _r;
			      }
next_after_fail860:;
			    }
			  else
			    {
/* #line 4165 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (0
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail861;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4170, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[1];
				      _o1[1] =  wide_int_to_tree
 (inside_type,
 wi::mask (inter_prec, false,
 TYPE_PRECISION (inside_type)));
				      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail861:;
				}
			      else
				{
/* #line 4178 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (0
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail862;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4182, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree _r;
					_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					return _r;
				      }
next_after_fail862:;
				    }
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4203 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 4203 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
 && operand_equal_p (captures[1], build_low_bits_mask (TREE_TYPE (captures[1]),
 TYPE_PRECISION (type)), 0)
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail863;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4208, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree _r;
		      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		      if (TREE_SIDE_EFFECTS (captures[1]))
			_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		      return _r;
		    }
next_after_fail863:;
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_q22))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4693 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 4693 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
			{
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail864;
			  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail864;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail864;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4695, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (TREE_TYPE (_o1[0]) != type)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op1 = _r1;
			    }
			    tree res_op2;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[3];
			      if (TREE_TYPE (_o1[0]) != type)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op2 = _r1;
			    }
			    tree _r;
			    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
			    return _r;
			  }
next_after_fail864:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q21, 0);
		    {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_254 (loc, type, _p0, captures, PLUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_118 (loc, type, _p0, captures, PLUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_439 (loc, type, _p0, captures, PLUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_170 (loc, type, _p0, captures, PLUS_EXPR);
	  if (res) return res;
	}
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q21, 0);
		    {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_254 (loc, type, _p0, captures, MINUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_118 (loc, type, _p0, captures, MINUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_439 (loc, type, _p0, captures, MINUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_170 (loc, type, _p0, captures, MINUS_EXPR);
	  if (res) return res;
	}
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q21, 0);
		    {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_254 (loc, type, _p0, captures, MULT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_118 (loc, type, _p0, captures, MULT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_439 (loc, type, _p0, captures, MULT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_170 (loc, type, _p0, captures, MULT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q21, 0);
		    {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
		      tree res = generic_simplify_254 (loc, type, _p0, captures, RDIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
		tree res = generic_simplify_118 (loc, type, _p0, captures, RDIV_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
		tree res = generic_simplify_439 (loc, type, _p0, captures, RDIV_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 7200 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
	  tree res = generic_simplify_170 (loc, type, _p0, captures, RDIV_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_VIEW_CONVERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  {
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if ((
0
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
1
 && type == TREE_TYPE (captures[0]))
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail865;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4025, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[0];
	  return _r;
	}
next_after_fail865:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case VIEW_CONVERT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4030 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail866;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4030, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail866:;
	}
        break;
      }
    default:;
    }
  {
/* #line 4036 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4036 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
 && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail867;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4039, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	  return _r;
	}
next_after_fail867:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4045 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
/* #line 4045 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) || POINTER_TYPE_P (TREE_TYPE (captures[1])))
 && TYPE_SIZE (TREE_TYPE (captures[0])) == TYPE_SIZE (TREE_TYPE (captures[1]))
 && (TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
 || (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail868;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4051, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree _r;
		_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		return _r;
	      }
next_after_fail868:;
	    }
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 4056 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	  {
/* #line 4056 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
 ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
/* #line 4060 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (CONSTRUCTOR_NELTS (ctor) == 0
)
		{
		  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail869;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail869;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4061, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r =  build_zero_cst (type);
		    return _r;
		  }
next_after_fail869:;
		}
	      else
		{
/* #line 4062 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (CONSTRUCTOR_NELTS (ctor) == 1
 && VECTOR_TYPE_P (TREE_TYPE (ctor))
 && operand_equal_p (TYPE_SIZE (type),
 TYPE_SIZE (TREE_TYPE
 (CONSTRUCTOR_ELT (ctor, 0)->value)))
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail870;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail870;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4067, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 =  CONSTRUCTOR_ELT (ctor, 0)->value;
			tree _r;
			_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail870:;
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_FLOAT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  {
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if ((
0
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
1
 && type == TREE_TYPE (captures[0]))
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail871;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4025, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[0];
	  return _r;
	}
next_after_fail871:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = element_precision (inside_type);
 int inside_unsignedp = TYPE_UNSIGNED (inside_type);
 int inter_int = INTEGRAL_TYPE_P (inter_type);
 int inter_ptr = POINTER_TYPE_P (inter_type);
 int inter_float = FLOAT_TYPE_P (inter_type);
 int inter_vec = VECTOR_TYPE_P (inter_type);
 unsigned int inter_prec = element_precision (inter_type);
 int inter_unsignedp = TYPE_UNSIGNED (inter_type);
 int final_int = INTEGRAL_TYPE_P (type);
 int final_ptr = POINTER_TYPE_P (type);
 int final_float = FLOAT_TYPE_P (type);
 int final_vec = VECTOR_TYPE_P (type);
 unsigned int final_prec = element_precision (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 4111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (((
0
 && useless_type_conversion_p (type, inside_type))
 || (
1
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail872;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4117, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree _r;
		    _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail872:;
		}
	      else
		{
/* #line 4124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (((inter_int && inside_int) || (inter_float && inside_float))
 && (final_int || final_float)
 && inter_prec >= inside_prec
 && (inter_float || inter_unsignedp == inside_unsignedp)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail873;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4128, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree _r;
			_r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail873:;
		    }
		  else
		    {
/* #line 4134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (inside_int && inter_int && final_int
 && ((inside_prec < inter_prec && inter_prec < final_prec
 && inside_unsignedp && !inter_unsignedp)
 || final_prec == inter_prec)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail874;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4138, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree _r;
			    _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail874:;
			}
		      else
			{
/* #line 4151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (! inside_float && ! inter_float && ! final_float
 && ! inside_vec && ! inter_vec && ! final_vec
 && (inter_prec >= inside_prec || inter_prec >= final_prec)
 && ! (inside_int && inter_int
 && inter_unsignedp != inside_unsignedp
 && inter_prec < final_prec)
 && ((inter_unsignedp && inter_prec > inside_prec)
 == (final_unsignedp && final_prec > inter_prec))
 && ! (inside_ptr && inter_prec != final_prec)
 && ! (final_ptr && inside_prec != inter_prec)
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail875;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4161, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree _r;
				_r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
				return _r;
			      }
next_after_fail875:;
			    }
			  else
			    {
/* #line 4165 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (0
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail876;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4170, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[1];
				      _o1[1] =  wide_int_to_tree
 (inside_type,
 wi::mask (inter_prec, false,
 TYPE_PRECISION (inside_type)));
				      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail876:;
				}
			      else
				{
/* #line 4178 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (0
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail877;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4182, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree _r;
					_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					return _r;
				      }
next_after_fail877:;
				    }
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = element_precision (inside_type);
 int inside_unsignedp = TYPE_UNSIGNED (inside_type);
 int inter_int = INTEGRAL_TYPE_P (inter_type);
 int inter_ptr = POINTER_TYPE_P (inter_type);
 int inter_float = FLOAT_TYPE_P (inter_type);
 int inter_vec = VECTOR_TYPE_P (inter_type);
 unsigned int inter_prec = element_precision (inter_type);
 int inter_unsignedp = TYPE_UNSIGNED (inter_type);
 int final_int = INTEGRAL_TYPE_P (type);
 int final_ptr = POINTER_TYPE_P (type);
 int final_float = FLOAT_TYPE_P (type);
 int final_vec = VECTOR_TYPE_P (type);
 unsigned int final_prec = element_precision (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 4111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (((
0
 && useless_type_conversion_p (type, inside_type))
 || (
1
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail878;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4117, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree _r;
		    _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail878:;
		}
	      else
		{
/* #line 4124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (((inter_int && inside_int) || (inter_float && inside_float))
 && (final_int || final_float)
 && inter_prec >= inside_prec
 && (inter_float || inter_unsignedp == inside_unsignedp)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail879;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4128, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree _r;
			_r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail879:;
		    }
		  else
		    {
/* #line 4134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (inside_int && inter_int && final_int
 && ((inside_prec < inter_prec && inter_prec < final_prec
 && inside_unsignedp && !inter_unsignedp)
 || final_prec == inter_prec)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail880;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4138, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree _r;
			    _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail880:;
			}
		      else
			{
/* #line 4151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (! inside_float && ! inter_float && ! final_float
 && ! inside_vec && ! inter_vec && ! final_vec
 && (inter_prec >= inside_prec || inter_prec >= final_prec)
 && ! (inside_int && inter_int
 && inter_unsignedp != inside_unsignedp
 && inter_prec < final_prec)
 && ((inter_unsignedp && inter_prec > inside_prec)
 == (final_unsignedp && final_prec > inter_prec))
 && ! (inside_ptr && inter_prec != final_prec)
 && ! (final_ptr && inside_prec != inter_prec)
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail881;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4161, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree _r;
				_r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
				return _r;
			      }
next_after_fail881:;
			    }
			  else
			    {
/* #line 4165 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (0
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail882;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4170, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[1];
				      _o1[1] =  wide_int_to_tree
 (inside_type,
 wi::mask (inter_prec, false,
 TYPE_PRECISION (inside_type)));
				      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail882:;
				}
			      else
				{
/* #line 4178 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (0
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail883;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4182, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree _r;
					_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					return _r;
				      }
next_after_fail883:;
				    }
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_FIX_TRUNC_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  {
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4023 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if ((
0
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
1
 && type == TREE_TYPE (captures[0]))
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail884;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4025, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[0];
	  return _r;
	}
next_after_fail884:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = element_precision (inside_type);
 int inside_unsignedp = TYPE_UNSIGNED (inside_type);
 int inter_int = INTEGRAL_TYPE_P (inter_type);
 int inter_ptr = POINTER_TYPE_P (inter_type);
 int inter_float = FLOAT_TYPE_P (inter_type);
 int inter_vec = VECTOR_TYPE_P (inter_type);
 unsigned int inter_prec = element_precision (inter_type);
 int inter_unsignedp = TYPE_UNSIGNED (inter_type);
 int final_int = INTEGRAL_TYPE_P (type);
 int final_ptr = POINTER_TYPE_P (type);
 int final_float = FLOAT_TYPE_P (type);
 int final_vec = VECTOR_TYPE_P (type);
 unsigned int final_prec = element_precision (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 4111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (((
0
 && useless_type_conversion_p (type, inside_type))
 || (
1
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail885;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4117, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree _r;
		    _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail885:;
		}
	      else
		{
/* #line 4124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (((inter_int && inside_int) || (inter_float && inside_float))
 && (final_int || final_float)
 && inter_prec >= inside_prec
 && (inter_float || inter_unsignedp == inside_unsignedp)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail886;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4128, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree _r;
			_r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail886:;
		    }
		  else
		    {
/* #line 4134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (inside_int && inter_int && final_int
 && ((inside_prec < inter_prec && inter_prec < final_prec
 && inside_unsignedp && !inter_unsignedp)
 || final_prec == inter_prec)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail887;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4138, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree _r;
			    _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail887:;
			}
		      else
			{
/* #line 4151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (! inside_float && ! inter_float && ! final_float
 && ! inside_vec && ! inter_vec && ! final_vec
 && (inter_prec >= inside_prec || inter_prec >= final_prec)
 && ! (inside_int && inter_int
 && inter_unsignedp != inside_unsignedp
 && inter_prec < final_prec)
 && ((inter_unsignedp && inter_prec > inside_prec)
 == (final_unsignedp && final_prec > inter_prec))
 && ! (inside_ptr && inter_prec != final_prec)
 && ! (final_ptr && inside_prec != inter_prec)
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail888;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4161, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree _r;
				_r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
				return _r;
			      }
next_after_fail888:;
			    }
			  else
			    {
/* #line 4165 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (0
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail889;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4170, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[1];
				      _o1[1] =  wide_int_to_tree
 (inside_type,
 wi::mask (inter_prec, false,
 TYPE_PRECISION (inside_type)));
				      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail889:;
				}
			      else
				{
/* #line 4178 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (0
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail890;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4182, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree _r;
					_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					return _r;
				      }
next_after_fail890:;
				    }
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  {
/* #line 4083 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = element_precision (inside_type);
 int inside_unsignedp = TYPE_UNSIGNED (inside_type);
 int inter_int = INTEGRAL_TYPE_P (inter_type);
 int inter_ptr = POINTER_TYPE_P (inter_type);
 int inter_float = FLOAT_TYPE_P (inter_type);
 int inter_vec = VECTOR_TYPE_P (inter_type);
 unsigned int inter_prec = element_precision (inter_type);
 int inter_unsignedp = TYPE_UNSIGNED (inter_type);
 int final_int = INTEGRAL_TYPE_P (type);
 int final_ptr = POINTER_TYPE_P (type);
 int final_float = FLOAT_TYPE_P (type);
 int final_vec = VECTOR_TYPE_P (type);
 unsigned int final_prec = element_precision (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 4111 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (((
0
 && useless_type_conversion_p (type, inside_type))
 || (
1
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail891;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4117, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree _r;
		    _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail891:;
		}
	      else
		{
/* #line 4124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (((inter_int && inside_int) || (inter_float && inside_float))
 && (final_int || final_float)
 && inter_prec >= inside_prec
 && (inter_float || inter_unsignedp == inside_unsignedp)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail892;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4128, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree _r;
			_r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail892:;
		    }
		  else
		    {
/* #line 4134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (inside_int && inter_int && final_int
 && ((inside_prec < inter_prec && inter_prec < final_prec
 && inside_unsignedp && !inter_unsignedp)
 || final_prec == inter_prec)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail893;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4138, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[1];
			    tree _r;
			    _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
			    return _r;
			  }
next_after_fail893:;
			}
		      else
			{
/* #line 4151 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (! inside_float && ! inter_float && ! final_float
 && ! inside_vec && ! inter_vec && ! final_vec
 && (inter_prec >= inside_prec || inter_prec >= final_prec)
 && ! (inside_int && inter_int
 && inter_unsignedp != inside_unsignedp
 && inter_prec < final_prec)
 && ((inter_unsignedp && inter_prec > inside_prec)
 == (final_unsignedp && final_prec > inter_prec))
 && ! (inside_ptr && inter_prec != final_prec)
 && ! (final_ptr && inside_prec != inter_prec)
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail894;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4161, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[1];
				tree _r;
				_r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
				return _r;
			      }
next_after_fail894:;
			    }
			  else
			    {
/* #line 4165 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (0
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail895;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4170, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[1];
				      _o1[1] =  wide_int_to_tree
 (inside_type,
 wi::mask (inter_prec, false,
 TYPE_PRECISION (inside_type)));
				      _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      res_op0 = _r1;
				    }
				    tree _r;
				    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				    return _r;
				  }
next_after_fail895:;
				}
			      else
				{
/* #line 4178 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (0
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail896;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4182, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree _r;
					_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					return _r;
				      }
next_after_fail896:;
				    }
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_PAREN_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case PAREN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4076 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail897;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail897;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4076, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    return _r;
	  }
next_after_fail897:;
	}
        break;
      }
    default:;
    }
if (CONSTANT_CLASS_P (_p0))
  {
    {
/* #line 4073 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail898;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4073, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[0];
	return _r;
      }
next_after_fail898:;
    }
  }
  return NULL_TREE;
}

static tree
generic_simplify_REALPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case COMPLEX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 4307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail899;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4307, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail899:;
	}
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case CONJ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 4315 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail900;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4315, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[2];
		    _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail900:;
	      }
	      break;
	    }
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		const enum tree_code op = PLUS_EXPR;
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail901;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[2], _r1;
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[0] = _r2;
		    }
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[3];
		      _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[1] = _r2;
		    }
		    _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail901:;
	      }
	      break;
	    }
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		const enum tree_code op = MINUS_EXPR;
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail902;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[2], _r1;
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[0] = _r2;
		    }
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[3];
		      _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[1] = _r2;
		    }
		    _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail902:;
	      }
	      break;
	    }
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_BUILT_IN_CEXPIF:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    {
/* #line 4326 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail903;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4326, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
			  if (!_r1)
			    goto next_after_fail903;
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail903:;
		    }
	          }
  break;
	      case CFN_BUILT_IN_CEXPI:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    {
/* #line 4326 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail904;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4326, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
			  if (!_r1)
			    goto next_after_fail904;
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail904:;
		    }
	          }
  break;
	      case CFN_BUILT_IN_CEXPIL:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    {
/* #line 4326 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail905;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4326, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
			  if (!_r1)
			    goto next_after_fail905;
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail905:;
		    }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case CONJ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4315 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail906;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4315, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail906:;
	}
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	  const enum tree_code op = PLUS_EXPR;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail907;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[2];
		_r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		_r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail907:;
	}
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	  const enum tree_code op = MINUS_EXPR;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail908;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[2];
		_r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		_r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail908:;
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CEXPIF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      {
/* #line 4326 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail909;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4326, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[2];
		    _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
		    if (!_r1)
		      goto next_after_fail909;
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail909:;
	      }
	    }
  break;
	case CFN_BUILT_IN_CEXPI:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      {
/* #line 4326 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail910;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4326, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[2];
		    _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
		    if (!_r1)
		      goto next_after_fail910;
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail910:;
	      }
	    }
  break;
	case CFN_BUILT_IN_CEXPIL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      {
/* #line 4326 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail911;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4326, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[2];
		    _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
		    if (!_r1)
		      goto next_after_fail911;
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail911:;
	      }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_IMAGPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case COMPLEX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 4310 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail912;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4310, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[1];
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail912:;
	}
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case CONJ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 4318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail913;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4318, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[0] = _r2;
		    }
		    _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail913:;
	      }
	      break;
	    }
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		const enum tree_code op = PLUS_EXPR;
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail914;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[2], _r1;
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[0] = _r2;
		    }
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[3];
		      _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[1] = _r2;
		    }
		    _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail914:;
	      }
	      break;
	    }
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		const enum tree_code op = MINUS_EXPR;
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail915;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[2], _r1;
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[0] = _r2;
		    }
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[3];
		      _r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      _o1[1] = _r2;
		    }
		    _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail915:;
	      }
	      break;
	    }
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_BUILT_IN_CEXPIF:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    {
/* #line 4329 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail916;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4329, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
			  if (!_r1)
			    goto next_after_fail916;
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail916:;
		    }
	          }
  break;
	      case CFN_BUILT_IN_CEXPI:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    {
/* #line 4329 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail917;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4329, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
			  if (!_r1)
			    goto next_after_fail917;
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail917:;
		    }
	          }
  break;
	      case CFN_BUILT_IN_CEXPIL:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    {
/* #line 4329 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail918;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4329, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
			  if (!_r1)
			    goto next_after_fail918;
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail918:;
		    }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case CONJ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail919;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4318, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[2];
		_r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[0] = _r2;
	      }
	      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail919:;
	}
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	  const enum tree_code op = PLUS_EXPR;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail920;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[2];
		_r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		_r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail920:;
	}
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 4323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	  const enum tree_code op = MINUS_EXPR;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail921;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4323, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[2];
		_r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		_r2 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		_o1[1] = _r2;
	      }
	      _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op0 = _r1;
	    }
	    tree _r;
	    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail921:;
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CEXPIF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      {
/* #line 4329 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail922;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4329, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[2];
		    _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1, _o1[0]);
		    if (!_r1)
		      goto next_after_fail922;
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail922:;
	      }
	    }
  break;
	case CFN_BUILT_IN_CEXPI:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      {
/* #line 4329 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail923;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4329, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[2];
		    _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1, _o1[0]);
		    if (!_r1)
		      goto next_after_fail923;
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail923:;
	      }
	    }
  break;
	case CFN_BUILT_IN_CEXPIL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      {
/* #line 4329 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail924;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4329, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[2];
		    _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1, _o1[0]);
		    if (!_r1)
		      goto next_after_fail924;
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail924:;
	      }
	    }
  break;
	case CFN_MUL_OVERFLOW:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (integer_nonzerop (_q21))
		{
		  {
/* #line 6426 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_372 (loc, type, _p0, captures);
		    if (res) return res;
		  }
	        }
	      if (integer_nonzerop (_q20))
		{
		  {
/* #line 6426 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
		    tree res = generic_simplify_372 (loc, type, _p0, captures);
		    if (res) return res;
		  }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_CONJ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case CONJ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 4334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		tree res = generic_simplify_109 (loc, type, _p0, captures);
		if (res) return res;
	      }
	      break;
	    }
	  case COMPLEX_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 4340 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		{
/* #line 4340 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree itype = TREE_TYPE (type);
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail925;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4341, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[2];
			if (TREE_TYPE (_o1[0]) != itype)
			  {
			    _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
			  }
			else
			  _r1 = _o1[0];
			res_op0 = _r1;
		      }
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[3];
			  if (TREE_TYPE (_o2[0]) != itype)
			    {
			      _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
			    }
			  else
			    _r2 = _o2[0];
			  _o1[0] = _r2;
			}
			_r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail925:;
		}
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case CONJ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 4334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	  tree res = generic_simplify_109 (loc, type, _p0, captures);
	  if (res) return res;
	}
        break;
      }
    case COMPLEX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 4340 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	  {
/* #line 4340 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree itype = TREE_TYPE (type);
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail926;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4341, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[2];
		  if (TREE_TYPE (_o1[0]) != itype)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  res_op0 = _r1;
		}
		tree res_op1;
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[3];
		    if (TREE_TYPE (_o2[0]) != itype)
		      {
			_r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  res_op1 = _r1;
		}
		tree _r;
		_r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail926:;
	  }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

tree
generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0)
{
  switch (code)
    {
    case ABS_EXPR:
      return generic_simplify_ABS_EXPR (loc, code, type, _p0);
    case BIT_NOT_EXPR:
      return generic_simplify_BIT_NOT_EXPR (loc, code, type, _p0);
    case ABSU_EXPR:
      return generic_simplify_ABSU_EXPR (loc, code, type, _p0);
    case NEGATE_EXPR:
      return generic_simplify_NEGATE_EXPR (loc, code, type, _p0);
    CASE_CONVERT:
      return generic_simplify_CONVERT_EXPR (loc, code, type, _p0);
    case VIEW_CONVERT_EXPR:
      return generic_simplify_VIEW_CONVERT_EXPR (loc, code, type, _p0);
    case FLOAT_EXPR:
      return generic_simplify_FLOAT_EXPR (loc, code, type, _p0);
    case FIX_TRUNC_EXPR:
      return generic_simplify_FIX_TRUNC_EXPR (loc, code, type, _p0);
    case PAREN_EXPR:
      return generic_simplify_PAREN_EXPR (loc, code, type, _p0);
    case REALPART_EXPR:
      return generic_simplify_REALPART_EXPR (loc, code, type, _p0);
    case IMAGPART_EXPR:
      return generic_simplify_IMAGPART_EXPR (loc, code, type, _p0);
    case CONJ_EXPR:
      return generic_simplify_CONJ_EXPR (loc, code, type, _p0);
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail927;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail927;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 182, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = non_lvalue_loc (loc, res_op0);
	  return _r;
	}
next_after_fail927:;
      }
    }
  if (real_zerop (_p1))
    {
      {
/* #line 198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_145 (loc, type, _p0, _p1, captures);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 217 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, PLUS_EXPR, PLUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 217 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case MAX_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  switch (TREE_CODE (_q50))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			  {
			    if (integer_zerop (_q51))
			      {
				{
/* #line 359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
				  tree res = generic_simplify_322 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  }
	switch (TREE_CODE (_q20))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if (integer_zerop (_q21))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case MAX_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_p1, 0);
			tree _q61 = TREE_OPERAND (_p1, 1);
			if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			  {
			    if (integer_zerop (_q61))
			      {
				{
/* #line 359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				  tree res = generic_simplify_322 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 556 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  {
/* #line 556 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool overflowed = true;
 wi::overflow_type ovf1;
 wi::overflow_type ovf2;
 wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[4]),
 TYPE_SIGN (type), &ovf1);
 wide_int add = wi::add (mul, wi::to_wide (captures[5]),
 TYPE_SIGN (type), &ovf2);
 if (TYPE_OVERFLOW_UNDEFINED (type))
 {
 }
 else
 overflowed = false;
/* #line 590 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (!overflowed
)
					{
					  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail928;
					  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail928;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail928;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail928;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 591, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[2];
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  wide_int_to_tree (type, add);
					    tree _r;
					    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail928:;
					}
				  }
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			    {
			      if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			    {
			      if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1153 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
				      tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			    {
			      switch (TREE_CODE (_q51))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1153 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
				      tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      if (integer_onep (_q21))
	{
	  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	    {
	      {
/* #line 1410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
		tree res = generic_simplify_14 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	    }
        }
        break;
      }
    default:;
    }
if (real_zerop (_p0))
  {
    {
/* #line 198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      tree res = generic_simplify_145 (loc, type, _p0, _p1, captures);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    if (integer_onep (_q31))
	      {
		{
/* #line 1410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
		  tree res = generic_simplify_14 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, PLUS_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_40 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  tree _q61 = TREE_OPERAND (_q50, 1);
			  switch (TREE_CODE (_q61))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
				  tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q51))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
			    tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, PLUS_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_40 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q21))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q21, 0);
		    tree _q61 = TREE_OPERAND (_q21, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
			  {
			    if (integer_all_onesp (_p1))
			      {
				{
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				  tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		      {
			if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
			  {
			    if (integer_all_onesp (_p1))
			      {
				{
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
				  tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      {
	tree _q20_pops[1];
	if (tree_nop_convert (_q20, _q20_pops))
	  {
	    tree _q30 = _q20_pops[0];
	    switch (TREE_CODE (_q30))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  tree _q41 = TREE_OPERAND (_q30, 1);
		  {
		    tree _q21_pops[1];
		    if (tree_nop_convert (_q21, _q21_pops))
		      {
			tree _q70 = _q21_pops[0];
			switch (TREE_CODE (_q70))
			  {
			  case BIT_IOR_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q70, 0);
			      tree _q81 = TREE_OPERAND (_q70, 1);
			      if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
				{
				  if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				    {
				      if (integer_all_onesp (_p1))
					{
					  {
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
					    tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
				{
				  if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
				    {
				      if (integer_all_onesp (_p1))
					{
					  {
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
					    tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
}
		  }
	          break;
	        }
	      default:;
	      }
}
      }
	{
	  tree _q21_pops[1];
	  if (tree_nop_convert (_q21, _q21_pops))
	    {
	      tree _q40 = _q21_pops[0];
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		    tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case BIT_AND_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				switch (TREE_CODE (_q71))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
					tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, PLUS_EXPR);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case BIT_AND_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q61))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
				  tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
		tree res = generic_simplify_180 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case MINUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q30))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  tree _q41 = TREE_OPERAND (_q30, 1);
		  switch (TREE_CODE (_q31))
		    {
		    case BIT_IOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q31, 0);
			tree _q71 = TREE_OPERAND (_q31, 1);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
			      {
				if (integer_all_onesp (_p1))
				  {
				    {
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
				      tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
			if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
			  {
			    if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
			      {
				if (integer_all_onesp (_p1))
				  {
				    {
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
				      tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  {
	    tree _q30_pops[1];
	    if (tree_nop_convert (_q30, _q30_pops))
	      {
		tree _q40 = _q30_pops[0];
		switch (TREE_CODE (_q40))
		  {
		  case BIT_AND_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_q40, 0);
		      tree _q51 = TREE_OPERAND (_q40, 1);
		      {
			tree _q31_pops[1];
			if (tree_nop_convert (_q31, _q31_pops))
			  {
			    tree _q80 = _q31_pops[0];
			    switch (TREE_CODE (_q80))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q90 = TREE_OPERAND (_q80, 0);
				  tree _q91 = TREE_OPERAND (_q80, 1);
				  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
				    {
				      if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
					{
					  if (integer_all_onesp (_p1))
					    {
					      {
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
						tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
						if (res) return res;
					      }
					    }
				        }
				    }
				  if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
				    {
				      if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
					{
					  if (integer_all_onesp (_p1))
					    {
					      {
/* #line 1529 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
						tree res = generic_simplify_68 (loc, type, _p0, _p1, captures);
						if (res) return res;
					      }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
}
		      }
		      break;
		    }
	          default:;
	          }
}
	  }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
		tree res = generic_simplify_180 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	  tree res = generic_simplify_180 (loc, type, _p0, _p1, captures);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
	  tree res = generic_simplify_180 (loc, type, _p0, _p1, captures);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case MINUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    {
	      tree _q31_pops[1];
	      if (tree_nop_convert (_q31, _q31_pops))
	        {
		  tree _q50 = _q31_pops[0];
		  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
			tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		  tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    if (CONSTANT_CLASS_P (_q31))
	      {
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
		      if (res) return res;
		    }
		  }
	      }
	    if (CONSTANT_CLASS_P (_q30))
	      {
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		      if (res) return res;
		    }
		  }
	      }
	    break;
	  }
	case PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    if (CONSTANT_CLASS_P (_q31))
	      {
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
		      if (res) return res;
		    }
		  }
	      }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
	  tree _q31_pops[1];
	  if (tree_nop_convert (_q31, _q31_pops))
	    {
	      tree _q50 = _q31_pops[0];
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
		    tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_nop_convert (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case MINUS_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_q30, 0);
	    tree _q41 = TREE_OPERAND (_q30, 1);
	    {
	      tree _q41_pops[1];
	      if (tree_nop_convert (_q41, _q41_pops))
	        {
		  tree _q60 = _q41_pops[0];
		  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
			tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
		  tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_404 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_404 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
		    tree res = generic_simplify_404 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
		    tree res = generic_simplify_404 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_242 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
		    tree res = generic_simplify_242 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
		  if (res) return res;
		}
	      }
	  }
	if (CONSTANT_CLASS_P (_q20))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_468 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
		    tree res = generic_simplify_468 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_320 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_320 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_320 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if (integer_each_onep (_p1))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_228 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_320 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if (integer_each_onep (_p1))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_228 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_456 (loc, type, _p0, _p1, captures, PLUS_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	      tree res = generic_simplify_456 (loc, type, _p0, _p1, captures, PLUS_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, PLUS_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, PLUS_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q20))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (tree_zero_one_valued_p (_q21))
		{
		  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		    {
		      {
/* #line 3607 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
			tree res = generic_simplify_275 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
      if (tree_zero_one_valued_p (_q20))
	{
	  switch (TREE_CODE (_q21))
	    {
	    case MINUS_EXPR:
	      {
		tree _q40 = TREE_OPERAND (_q21, 0);
		tree _q41 = TREE_OPERAND (_q21, 1);
		if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
		  {
		    {
/* #line 3607 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		      tree res = generic_simplify_275 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		{
		  if (tree_zero_one_valued_p (_q31))
		    {
		      {
/* #line 3607 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
			tree res = generic_simplify_275 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
      if (tree_zero_one_valued_p (_q30))
	{
	  switch (TREE_CODE (_q31))
	    {
	    case MINUS_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_q31, 0);
		tree _q51 = TREE_OPERAND (_q31, 1);
		if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
		  {
		    {
/* #line 3607 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
		      tree res = generic_simplify_275 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case TRUNC_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			  {
			    if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case CEIL_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case CEIL_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			  {
			    if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case FLOOR_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case FLOOR_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			  {
			    if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case ROUND_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case ROUND_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			  {
			    if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case TRUNC_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case CEIL_DIV_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case CEIL_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case FLOOR_DIV_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case FLOOR_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case ROUND_DIV_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case ROUND_MOD_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case TRUNC_DIV_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case TRUNC_DIV_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CEIL_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case CEIL_DIV_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case CEIL_DIV_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case FLOOR_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case FLOOR_DIV_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case FLOOR_DIV_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case ROUND_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case ROUND_DIV_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case ROUND_DIV_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			      {
				{
/* #line 4221 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				  tree res = generic_simplify_62 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4253 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 4253 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	    {
	      {
/* #line 4254 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
/* #line 4255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (!TREE_OVERFLOW (tem) || !flag_trapping_math
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail929;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail929;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4256, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 =  tem;
			tree _r;
			_r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail929:;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 4261 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4261 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (SCALAR_FLOAT_TYPE_P (type)
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail930;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4262, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree res_op1;
	      res_op1 =  build_real (type, dconst2);
	      tree _r;
	      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
	      return _r;
	    }
next_after_fail930:;
	  }
	else
	  {
/* #line 4263 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    if (INTEGRAL_TYPE_P (type)
)
	      {
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail931;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4264, __FILE__, __LINE__);
		{
		  tree res_op0;
		  res_op0 = captures[0];
		  tree res_op1;
		  res_op1 =  build_int_cst (type, 2);
		  tree _r;
		  _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		  return _r;
		}
next_after_fail931:;
	      }
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail932;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail932;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail932;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail932:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail933;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail933;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail933;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail933;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail933:;
	    }
	}
	if (integer_each_onep (_q21))
	  {
	    if (integer_zerop (_q22))
	      {
		{
/* #line 5057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
		  tree res = generic_simplify_285 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail934;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail934;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail934;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail934;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail934:;
	    }
	}
        break;
      }
    case VIEW_CONVERT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      tree _q42 = TREE_OPERAND (_q30, 2);
	      if (integer_each_onep (_q41))
		{
		  if (integer_zerop (_q42))
		    {
		      {
/* #line 5057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
			tree res = generic_simplify_285 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VIEW_CONVERT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      tree _q32 = TREE_OPERAND (_q20, 2);
	      if (integer_each_onep (_q31))
		{
		  if (integer_zerop (_q32))
		    {
		      {
/* #line 5057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
			tree res = generic_simplify_285 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	if (integer_each_onep (_q31))
	  {
	    if (integer_zerop (_q32))
	      {
		{
/* #line 5057 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		  tree res = generic_simplify_285 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case RDIV_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_q20))
	  {
	  case MULT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (tree_vec_same_elem_p (_q31))
		{
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 8355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
			tree res = generic_simplify_429 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if (tree_vec_same_elem_p (_q30))
		{
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 8355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
			tree res = generic_simplify_429 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail935;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail935:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q22))
	      {
	      case VECTOR_CST:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_PERM_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_p1, 0);
			tree _q61 = TREE_OPERAND (_p1, 1);
			tree _q62 = TREE_OPERAND (_p1, 2);
			if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
			  {
			    if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			      {
				switch (TREE_CODE (_q62))
				  {
				  case VECTOR_CST:
				    {
				      {
/* #line 8486 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
					tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, PLUS_EXPR);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POPCOUNT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POPCOUNTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POPCOUNTLL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POPCOUNTIMAX:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_POPCOUNT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7721 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_PERM_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	switch (TREE_CODE (_q30))
	  {
	  case MULT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if (tree_vec_same_elem_p (_q41))
		{
		  if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
		    {
		      {
/* #line 8355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
			tree res = generic_simplify_429 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if (tree_vec_same_elem_p (_q40))
		{
		  if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
		    {
		      {
/* #line 8355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
			tree res = generic_simplify_429 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_POINTER_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail936;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail936;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 182, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = non_lvalue_loc (loc, res_op0);
	  return _r;
	}
next_after_fail936:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 2498 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail937;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2498, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree res_op1;
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[2];
	      _o1[1] = captures[3];
	      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      res_op1 = _r1;
	    }
	    tree _r;
	    _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail937:;
	}
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2502 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail938;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2502, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[2], _r1;
		    _o1[0] = captures[2];
		    {
		      tree _o2[2], _r2;
		      _o2[0] = captures[3];
		      _o2[1] = captures[4];
		      _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		      _o1[1] = _r2;
		    }
		    _r1 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		  return _r;
		}
next_after_fail938:;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 187 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail939;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail939;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 187, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree _r;
	_r = non_lvalue_loc (loc, res_op0);
	return _r;
      }
next_after_fail939:;
    }
  }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    switch (TREE_CODE (_q41))
		      {
		      CASE_CONVERT:
		        {
			  tree _q70 = TREE_OPERAND (_q41, 0);
			  if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
			    {
			      {
/* #line 2516 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q50 };
/* #line 2516 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
 && ((
0
 && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
 || (
1
 && type == TREE_TYPE (captures[3])))
)
				  {
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail940;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2519, __FILE__, __LINE__);
				    {
				      tree _r;
				      _r = captures[3];
				      if (TREE_SIDE_EFFECTS (captures[0]))
					_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				      return _r;
				    }
next_after_fail940:;
				  }
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 2522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
/* #line 2522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail941;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2523, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[3];
			  tree _r;
			  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			  if (TREE_SIDE_EFFECTS (captures[4]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
			  return _r;
			}
next_after_fail941:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      switch (TREE_CODE (_q31))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_q31, 0);
		    if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
		      {
			{
/* #line 2516 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p1, _q40 };
/* #line 2516 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
 && ((
0
 && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
 || (
1
 && type == TREE_TYPE (captures[3])))
)
			    {
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail942;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2519, __FILE__, __LINE__);
			      {
				tree _r;
				_r = captures[3];
				if (TREE_SIDE_EFFECTS (captures[0]))
				  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				return _r;
			      }
next_after_fail942:;
			    }
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
	  {
	    {
/* #line 2522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
/* #line 2522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail943;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2523, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[3];
		    tree _r;
		    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		    if (TREE_SIDE_EFFECTS (captures[4]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
		    return _r;
		  }
next_after_fail943:;
		}
	    }
	  }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			switch (TREE_CODE (_q41))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2534 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
				{
/* #line 2534 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[1]));
				    if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail944;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail944;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2535, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      res_op0 = captures[0];
				      tree res_op1;
				      res_op1 =  algn;
				      tree _r;
				      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
				      return _r;
				    }
next_after_fail944:;
				}
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_MINUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail945;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail945;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 182, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = non_lvalue_loc (loc, res_op0);
	  return _r;
	}
next_after_fail945:;
      }
    }
  if (real_zerop (_p1))
    {
      {
/* #line 204 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 204 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (fold_real_zero_addition_p (type, captures[0], captures[1], 1)
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail946;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 205, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree _r;
	      _r = non_lvalue_loc (loc, res_op0);
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      return _r;
	    }
next_after_fail946:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 217 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 217 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, MINUS_EXPR, MINUS_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 237 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 237 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (!FLOAT_TYPE_P (type)
 || (!tree_expr_maybe_nan_p (captures[0])
 && !tree_expr_maybe_infinite_p (captures[0])
 && (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
 || !HONOR_SIGNED_ZEROS (type)))
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail947;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 242, __FILE__, __LINE__);
	    {
	      tree _r;
	      _r =  build_zero_cst (type);
	      if (TREE_SIDE_EFFECTS (captures[0]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	      return _r;
	    }
next_after_fail947:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case MULT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case TRUNC_DIV_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  tree _q61 = TREE_OPERAND (_q50, 1);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q20, 0))
			    {
			      if ((_q51 == _q61 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q61, 0))
				{
				  {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q61 };
				    tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q51))
		      {
		      case TRUNC_DIV_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q51, 0);
			  tree _q71 = TREE_OPERAND (_q51, 1);
			  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q20, 0))
			    {
			      if ((_q71 == _q50 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q50, 0))
				{
				  {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q50 };
				    tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case MULT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q40))
	        {
		case TRUNC_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			if ((_q41 == _q51 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q51, 0))
			  {
			    {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q20, _q51 };
			      tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q41))
	        {
		case TRUNC_DIV_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q41, 0);
		    tree _q61 = TREE_OPERAND (_q41, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q20, 0))
		      {
			if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || operand_equal_p (_q61, _q40, 0))
			  {
			    {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q40 };
			      tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case MULT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		case TRUNC_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _p0, 0))
		      {
			if ((_q41 == _q51 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q51, 0))
			  {
			    {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q51 };
			      tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q41))
	        {
		case TRUNC_DIV_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q41, 0);
		    tree _q61 = TREE_OPERAND (_q41, 1);
		    if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _p0, 0))
		      {
			if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || operand_equal_p (_q61, _q40, 0))
			  {
			    {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _p0, _q40 };
			      tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
		{
		  if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _q41, 0))
		    {
		      {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _p0, _q41 };
			tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      tree _q51 = TREE_OPERAND (_q31, 1);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _p0, 0))
		{
		  if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q30, 0))
		    {
		      {
/* #line 780 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q30 };
			tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q40))
	        {
		case TRUNC_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		      {
			if (integer_onep (_q41))
			  {
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				{
/* #line 786 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q50 };
				  tree res = generic_simplify_233 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		case TRUNC_DIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    if (integer_onep (_q31))
		      {
			if ((_q21 == _q41 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q41, 0) && types_match (_q21, _q41)))
			  {
			    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			      {
				{
/* #line 786 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q20, _q30, _q40 };
				  tree res = generic_simplify_233 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
			  {
			    {
/* #line 1135 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
			      tree res = generic_simplify_299 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    {
/* #line 1135 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
			      tree res = generic_simplify_299 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
			  {
			    {
/* #line 1135 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
			      tree res = generic_simplify_299 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1135 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
			      tree res = generic_simplify_299 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 1138 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
/* #line 1138 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (~wi::to_wide (captures[2]) == wi::to_wide (captures[4])
)
				  {
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail948;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1139, __FILE__, __LINE__);
				    {
				      if (! tree_invariant_p (captures[4])) goto next_after_fail948;
				      tree res_op0;
				      {
					tree _o1[2], _r1;
					_o1[0] = captures[1];
					_o1[1] = unshare_expr (captures[4]);
					_r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					res_op0 = _r1;
				      }
				      tree res_op1;
				      res_op1 = captures[4];
				      tree _r;
				      _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
				      if (TREE_SIDE_EFFECTS (captures[2]))
					_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				      return _r;
				    }
next_after_fail948:;
				  }
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    {
/* #line 1144 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      tree res = generic_simplify_370 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_q50))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1144 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      tree res = generic_simplify_370 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1144 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
			      tree res = generic_simplify_370 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 1144 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
			      tree res = generic_simplify_370 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    if (integer_onep (_q51))
			      {
				{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    if (integer_onep (_q51))
			      {
				{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	    {
	      tree _q50_pops[1];
	      if (tree_nop_convert (_q50, _q50_pops))
	        {
		  tree _q60 = _q50_pops[0];
		  switch (TREE_CODE (_q60))
		    {
		    case BIT_IOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q60, 0);
			tree _q71 = TREE_OPERAND (_q60, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			      {
				if (integer_onep (_q51))
				  {
				    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			      {
				if (integer_onep (_q51))
				  {
				    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
}
	    }
	      break;
	    }
          default:;
          }
      {
	tree _p1_pops[1];
	if (tree_nop_convert (_p1, _p1_pops))
	  {
	    tree _q50 = _p1_pops[0];
	    switch (TREE_CODE (_q50))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_q50, 0);
		  tree _q61 = TREE_OPERAND (_q50, 1);
		  switch (TREE_CODE (_q60))
		    {
		    case BIT_IOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q60, 0);
			tree _q71 = TREE_OPERAND (_q60, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			      {
				if (integer_onep (_q61))
				  {
				    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
				      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			      {
				if (integer_onep (_q61))
				  {
				    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
				      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
		{
		  tree _q60_pops[1];
		  if (tree_nop_convert (_q60, _q60_pops))
		    {
		      tree _q70 = _q60_pops[0];
		      switch (TREE_CODE (_q70))
		        {
			case BIT_IOR_EXPR:
			  {
			    tree _q80 = TREE_OPERAND (_q70, 0);
			    tree _q81 = TREE_OPERAND (_q70, 1);
			    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
			      {
				if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
				  {
				    if (integer_onep (_q61))
				      {
					{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
			      {
				if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
				  {
				    if (integer_onep (_q61))
				      {
					{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    break;
			  }
		        default:;
		        }
}
		}
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 1362 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 1362 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (!TYPE_OVERFLOW_SANITIZED (type)
)
		  {
		    {
/* #line 1363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail949;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1364, __FILE__, __LINE__);
			{
			  tree res_op0;
			  {
			    tree _o1[2], _r1;
			    {
			      tree _o2[1], _r2;
			      _o2[0] = captures[1];
			      if (TREE_TYPE (_o2[0]) != utype)
				{
				  _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
				}
			      else
			        _r2 = _o2[0];
			      _o1[0] = _r2;
			    }
			    {
			      tree _o2[1], _r2;
			      _o2[0] = captures[0];
			      if (TREE_TYPE (_o2[0]) != utype)
				{
				  _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
				}
			      else
			        _r2 = _o2[0];
			      _o1[1] = _r2;
			    }
			    _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    res_op0 = _r1;
			  }
			  tree _r;
			  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			  return _r;
			}
next_after_fail949:;
		    }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail950;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1480, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      res_op1 = captures[1];
			      tree _r;
			      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			      return _r;
			    }
next_after_fail950:;
			  }
		      }
		    }
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1485 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1485 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail951;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1487, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      res_op1 = captures[1];
			      tree _r;
			      _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
			      return _r;
			    }
next_after_fail951:;
			  }
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_all_onesp (_q21))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case BIT_IOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			tree _q71 = TREE_OPERAND (_p1, 1);
			if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			  {
			    if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			      {
				{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
			if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
			  {
			    if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
			      {
				{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
				  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
		{
		  tree _p1_pops[1];
		  if (tree_nop_convert (_p1, _p1_pops))
		    {
		      tree _q70 = _p1_pops[0];
		      switch (TREE_CODE (_q70))
		        {
			case BIT_IOR_EXPR:
			  {
			    tree _q80 = TREE_OPERAND (_q70, 0);
			    tree _q81 = TREE_OPERAND (_q70, 1);
			    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			      {
				if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				  {
				    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			    if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
			      {
				if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
				  {
				    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
				      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			    break;
			  }
		        default:;
		        }
}
		}
	        }
	      break;
	    }
          default:;
          }
      {
	tree _q20_pops[1];
	if (tree_nop_convert (_q20, _q20_pops))
	  {
	    tree _q30 = _q20_pops[0];
	    switch (TREE_CODE (_q30))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  tree _q41 = TREE_OPERAND (_q30, 1);
		  if (integer_all_onesp (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case BIT_IOR_EXPR:
			  {
			    tree _q80 = TREE_OPERAND (_p1, 0);
			    tree _q81 = TREE_OPERAND (_p1, 1);
			    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			      {
				if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				  {
				    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
				      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			    if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
			      {
				if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
				  {
				    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
				      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			    break;
			  }
		        default:;
		        }
		    {
		      tree _p1_pops[1];
		      if (tree_nop_convert (_p1, _p1_pops))
		        {
			  tree _q80 = _p1_pops[0];
			  switch (TREE_CODE (_q80))
			    {
			    case BIT_IOR_EXPR:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				tree _q91 = TREE_OPERAND (_q80, 1);
				if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
				  {
				    if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				      {
					{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
					  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
				if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
				  {
				    if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
				      {
					{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
					  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			        break;
			      }
			    default:;
			    }
}
		    }
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1492 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_46 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1492 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_46 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1497 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail952;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1497, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[1];
			  tree _r;
			  _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			  return _r;
			}
next_after_fail952:;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1502 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail953;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1502, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[1];
			  tree _r;
			  _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
			  return _r;
			}
next_after_fail953:;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q30))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  tree _q41 = TREE_OPERAND (_q30, 1);
		  if (integer_all_onesp (_q31))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case BIT_IOR_EXPR:
			  {
			    tree _q80 = TREE_OPERAND (_p1, 0);
			    tree _q81 = TREE_OPERAND (_p1, 1);
			    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			      {
				if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				  {
				    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
				      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			    if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
			      {
				if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
				  {
				    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
				      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			    break;
			  }
		        default:;
		        }
		    {
		      tree _p1_pops[1];
		      if (tree_nop_convert (_p1, _p1_pops))
		        {
			  tree _q80 = _p1_pops[0];
			  switch (TREE_CODE (_q80))
			    {
			    case BIT_IOR_EXPR:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				tree _q91 = TREE_OPERAND (_q80, 1);
				if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
				  {
				    if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				      {
					{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
					  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
				if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
				  {
				    if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
				      {
					{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
					  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			        break;
			      }
			    default:;
			    }
}
		    }
		    }
	          break;
	        }
	      default:;
	      }
	  {
	    tree _q30_pops[1];
	    if (tree_nop_convert (_q30, _q30_pops))
	      {
		tree _q40 = _q30_pops[0];
		switch (TREE_CODE (_q40))
		  {
		  case BIT_AND_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_q40, 0);
		      tree _q51 = TREE_OPERAND (_q40, 1);
		      if (integer_all_onesp (_q31))
			{
			  switch (TREE_CODE (_p1))
			    {
			    case BIT_IOR_EXPR:
			      {
				tree _q90 = TREE_OPERAND (_p1, 0);
				tree _q91 = TREE_OPERAND (_p1, 1);
				if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
				  {
				    if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
				      {
					{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
					  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
				if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
				  {
				    if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
				      {
					{
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
					  tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			        break;
			      }
			    default:;
			    }
			{
			  tree _p1_pops[1];
			  if (tree_nop_convert (_p1, _p1_pops))
			    {
			      tree _q90 = _p1_pops[0];
			      switch (TREE_CODE (_q90))
			        {
				case BIT_IOR_EXPR:
				  {
				    tree _q100 = TREE_OPERAND (_q90, 0);
				    tree _q101 = TREE_OPERAND (_q90, 1);
				    if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
				      {
					if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					  {
					    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
					      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					      if (res) return res;
					    }
					  }
				      }
				    if ((_q100 == _q51 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q51, 0) && types_match (_q100, _q51)))
				      {
					if ((_q101 == _q50 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q50, 0) && types_match (_q101, _q50)))
					  {
					    {
/* #line 1538 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
					      tree res = generic_simplify_332 (loc, type, _p0, _p1, captures);
					      if (res) return res;
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
}
			}
		        }
		      break;
		    }
	          default:;
	          }
}
	  }
	    break;
	  }
	case BIT_AND_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_p1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  switch (TREE_CODE (_q60))
		    {
		    case BIT_IOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q60, 0);
			tree _q71 = TREE_OPERAND (_q60, 1);
			if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			  {
			    if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			      {
				if (integer_onep (_q61))
				  {
				    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
			if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
			  {
			    if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
			      {
				if (integer_onep (_q61))
				  {
				    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
		{
		  tree _q60_pops[1];
		  if (tree_nop_convert (_q60, _q60_pops))
		    {
		      tree _q70 = _q60_pops[0];
		      switch (TREE_CODE (_q70))
		        {
			case BIT_IOR_EXPR:
			  {
			    tree _q80 = TREE_OPERAND (_q70, 0);
			    tree _q81 = TREE_OPERAND (_q70, 1);
			    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			      {
				if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				  {
				    if (integer_onep (_q61))
				      {
					{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
					  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
			      {
				if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
				  {
				    if (integer_onep (_q61))
				      {
					{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
					  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    break;
			  }
		        default:;
		        }
}
		}
	          break;
	        }
	      default:;
	      }
	  {
	    tree _p1_pops[1];
	    if (tree_nop_convert (_p1, _p1_pops))
	      {
		tree _q60 = _p1_pops[0];
		switch (TREE_CODE (_q60))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q70 = TREE_OPERAND (_q60, 0);
		      tree _q71 = TREE_OPERAND (_q60, 1);
		      switch (TREE_CODE (_q70))
		        {
			case BIT_IOR_EXPR:
			  {
			    tree _q80 = TREE_OPERAND (_q70, 0);
			    tree _q81 = TREE_OPERAND (_q70, 1);
			    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			      {
				if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				  {
				    if (integer_onep (_q71))
				      {
					{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
			      {
				if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
				  {
				    if (integer_onep (_q71))
				      {
					{
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					  tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    break;
			  }
		        default:;
		        }
		    {
		      tree _q70_pops[1];
		      if (tree_nop_convert (_q70, _q70_pops))
		        {
			  tree _q80 = _q70_pops[0];
			  switch (TREE_CODE (_q80))
			    {
			    case BIT_IOR_EXPR:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				tree _q91 = TREE_OPERAND (_q80, 1);
				if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				  {
				    if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				      {
					if (integer_onep (_q71))
					  {
					    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					      if (res) return res;
					    }
					  }
				      }
				  }
				if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
				  {
				    if ((_q91 == _q30 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q30, 0) && types_match (_q91, _q30)))
				      {
					if (integer_onep (_q71))
					  {
					    {
/* #line 1547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
					      tree res = generic_simplify_130 (loc, type, _p0, _p1, captures);
					      if (res) return res;
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
}
		    }
		      break;
		    }
	          default:;
	          }
}
	  }
	    break;
	  }
        default:;
        }
}
}
  if (tree_negate_expr_p (_p1))
    {
      {
/* #line 1747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (!FIXED_POINT_TYPE_P (type)
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail954;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1748, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree res_op1;
	      {
		tree _o1[1], _r1;
		_o1[0] = captures[1];
		_r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		res_op1 = _r1;
	      }
	      tree _r;
	      _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
	      return _r;
	    }
next_after_fail954:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			{
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p1, _q40, _q51, _q20 };
			  tree res = generic_simplify_111 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _q51, _p1, _q40, _q50, _q20 };
			  tree res = generic_simplify_111 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
		{
		  {
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _p1, _q41, _q20 };
		    tree res = generic_simplify_229 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
		{
		  {
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _p1, _q40, _q20 };
		    tree res = generic_simplify_229 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    {
/* #line 2540 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2540 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
			{
			  {
/* #line 2541 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2542 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (ptr_difference_const (captures[0], captures[1], &diff)
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail955;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2543, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  build_int_cst_type (type, diff);
				    if (TREE_SIDE_EFFECTS (captures[0]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    return _r;
				  }
next_after_fail955:;
				}
			  }
			}
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 2546 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2546 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
			{
			  {
/* #line 2547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2548 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (ptr_difference_const (captures[0], captures[1], &diff)
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail956;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2549, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  build_int_cst_type (type, diff);
				    if (TREE_SIDE_EFFECTS (captures[0]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    return _r;
				  }
next_after_fail956:;
				}
			  }
			}
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
if (integer_onep (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      case SSA_NAME:
        {
	  {
/* #line 1757 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1757 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    if (INTEGRAL_TYPE_P (type)
 && ssa_name_has_boolean_range (captures[1])
)
	      {
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail957;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1759, __FILE__, __LINE__);
		{
		  tree res_op0;
		  res_op0 = captures[1];
		  tree res_op1;
		  res_op1 = captures[0];
		  tree _r;
		  _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
		  return _r;
		}
next_after_fail957:;
	      }
	  }
          break;
        }
      default:;
      }
  }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
		{
		  {
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _q30, _q41, _p0 };
		    tree res = generic_simplify_111 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
		    tree res = generic_simplify_111 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
	  {
	    {
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[5] ATTRIBUTE_UNUSED = { _q30, _p1, _p1, _q31, _p0 };
	      tree res = generic_simplify_229 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
	  {
	    {
/* #line 2124 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
	      tree res = generic_simplify_229 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail958;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail958:;
		      }
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail959;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail959:;
		      }
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail960;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail960:;
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail961;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail961:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2310 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2310 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail962;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2313, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail962:;
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2337 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2337 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail963;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2340, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[2];
			  tree res_op1;
			  res_op1 = captures[1];
			  tree _r;
			  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[0]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			  return _r;
			}
next_after_fail963:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2322 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
/* #line 2322 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail964;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2324, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  res_op1 = captures[3];
			  tree _r;
			  _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[2]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			  return _r;
			}
next_after_fail964:;
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2349 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
/* #line 2349 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail965;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2351, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[3];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail965:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
		tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	  tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
	  tree _q20_pops[1];
	  if (tree_nop_convert (_q20, _q20_pops))
	    {
	      tree _q30 = _q20_pops[0];
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	{
	  tree _q21_pops[1];
	  if (tree_nop_convert (_q21, _q21_pops))
	    {
	      tree _q40 = _q21_pops[0];
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		    tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
	  tree _q20_pops[1];
	  if (tree_nop_convert (_q20, _q20_pops))
	    {
	      tree _q30 = _q20_pops[0];
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_391 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_391 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    {
	      tree _q30_pops[1];
	      if (tree_nop_convert (_q30, _q30_pops))
	        {
		  tree _q40 = _q30_pops[0];
		  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
			tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    {
	      tree _q31_pops[1];
	      if (tree_nop_convert (_q31, _q31_pops))
	        {
		  tree _q50 = _q31_pops[0];
		  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
			tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		  tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
		  tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    break;
	  }
	case MINUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    {
	      tree _q30_pops[1];
	      if (tree_nop_convert (_q30, _q30_pops))
	        {
		  tree _q40 = _q30_pops[0];
		  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
			tree res = generic_simplify_391 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
		  tree res = generic_simplify_391 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
	  tree _q30_pops[1];
	  if (tree_nop_convert (_q30, _q30_pops))
	    {
	      tree _q40 = _q30_pops[0];
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	{
	  tree _q31_pops[1];
	  if (tree_nop_convert (_q31, _q31_pops))
	    {
	      tree _q50 = _q31_pops[0];
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
	  tree _q30_pops[1];
	  if (tree_nop_convert (_q30, _q30_pops))
	    {
	      tree _q40 = _q30_pops[0];
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    tree res = generic_simplify_249 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
}
	}
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_249 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_nop_convert (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case PLUS_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_q30, 0);
	    tree _q41 = TREE_OPERAND (_q30, 1);
	    {
	      tree _q40_pops[1];
	      if (tree_nop_convert (_q40, _q40_pops))
	        {
		  tree _q50 = _q40_pops[0];
		  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    {
	      tree _q41_pops[1];
	      if (tree_nop_convert (_q41, _q41_pops))
	        {
		  tree _q60 = _q41_pops[0];
		  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
			tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
		  tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
		  tree res = generic_simplify_464 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    break;
	  }
	case MINUS_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_q30, 0);
	    tree _q41 = TREE_OPERAND (_q30, 1);
	    {
	      tree _q40_pops[1];
	      if (tree_nop_convert (_q40, _q40_pops))
	        {
		  tree _q50 = _q40_pops[0];
		  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		    {
		      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_249 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
}
	    }
	    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
		  tree res = generic_simplify_249 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_8 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_8 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, MINUS_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, MINUS_EXPR);
		  if (res) return res;
		}
	      }
	  }
	if (CONSTANT_CLASS_P (_q20))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_174 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if (integer_each_onep (_p1))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
		    tree res = generic_simplify_153 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
			  tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
			  tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
		    tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
		    tree res = generic_simplify_102 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (!TYPE_SATURATING (type)
)
			    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
				{
/* #line 3123 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
 || (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && TREE_CODE (captures[1]) == INTEGER_CST
 && tree_int_cst_sign_bit (captures[1]) == 0)
)
				    {
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail966;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3131, __FILE__, __LINE__);
				      {
					tree res_op0;
					res_op0 = captures[1];
					tree _r;
					_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					if (TREE_SIDE_EFFECTS (captures[2]))
					  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					return _r;
				      }
next_after_fail966:;
				    }
				}
			    }
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			  tree res = generic_simplify_315 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
			  tree res = generic_simplify_315 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if (integer_each_onep (_p1))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_153 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    if (CONSTANT_CLASS_P (_q31))
	      {
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, MINUS_EXPR);
		      if (res) return res;
		    }
		  }
	      }
	    break;
	  }
	case MINUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    if (CONSTANT_CLASS_P (_q31))
	      {
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_473 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, MINUS_EXPR);
		      if (res) return res;
		    }
		  }
	      }
	    if (CONSTANT_CLASS_P (_q30))
	      {
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
		      tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		      if (res) return res;
		    }
		  }
	      }
	    break;
	  }
        default:;
        }
}
}
if (CONSTANT_CLASS_P (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      case MINUS_EXPR:
        {
	  tree _q30 = TREE_OPERAND (_p1, 0);
	  tree _q31 = TREE_OPERAND (_p1, 1);
	  if (CONSTANT_CLASS_P (_q30))
	    {
	      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		tree res = generic_simplify_308 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	    }
          break;
        }
      default:;
      }
  {
    tree _p1_pops[1];
    if (tree_nop_convert (_p1, _p1_pops))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if (CONSTANT_CLASS_P (_q40))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
		    tree res = generic_simplify_308 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
}
  }
  }
if (integer_all_onesp (_p0))
  {
    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!TYPE_SATURATING (type)
)
	{
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	    {
/* #line 3102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (TREE_CODE (type) != COMPLEX_TYPE
)
		{
		  if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail967;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail967;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3103, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[0];
		    tree _r;
		    _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
		    return _r;
		  }
next_after_fail967:;
		}
	    }
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
		    tree res = generic_simplify_315 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
		    tree res = generic_simplify_315 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case POINTER_PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			{
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (!TYPE_SATURATING (type)
)
			    {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
				{
/* #line 3165 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
				    {
				      {
/* #line 3168 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail968;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3169, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[1], _r2;
						_o2[0] = captures[1];
						if (TREE_TYPE (_o2[0]) != utype)
						  {
						    _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
						  }
						else
						  _r2 = _o2[0];
						_o1[0] = _r2;
					      }
					      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					    if (TREE_SIDE_EFFECTS (captures[2]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					    return _r;
					  }
next_after_fail968:;
				      }
				    }
				  else
				    {
/* #line 3170 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
 || (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && TREE_CODE (captures[1]) == INTEGER_CST
 && tree_int_cst_sign_bit (captures[1]) == 0)
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail969;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3178, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[1], _r1;
					      _o1[0] = captures[1];
					      if (TREE_TYPE (_o1[0]) != type)
						{
						  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						}
					      else
					        _r1 = _o1[0];
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
					    if (TREE_SIDE_EFFECTS (captures[2]))
					      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					    return _r;
					  }
next_after_fail969:;
					}
				    }
				}
			    }
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case PLUS_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
			    {
			      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
			    {
			      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
			    {
			      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
			    {
			      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case POINTER_PLUS_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
			    {
			      {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!TYPE_SATURATING (type)
)
				  {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
				      {
/* #line 3217 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
					  {
					    {
/* #line 3220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail970;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3221, __FILE__, __LINE__);
						{
						  tree res_op0;
						  {
						    tree _o1[2], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      if (TREE_TYPE (_o2[0]) != utype)
							{
							  _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
							}
						      else
						        _r2 = _o2[0];
						      _o1[0] = _r2;
						    }
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[2];
						      if (TREE_TYPE (_o2[0]) != utype)
							{
							  _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
							}
						      else
						        _r2 = _o2[0];
						      _o1[1] = _r2;
						    }
						    _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						    res_op0 = _r1;
						  }
						  tree _r;
						  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
						  if (TREE_SIDE_EFFECTS (captures[3]))
						    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
						  return _r;
						}
next_after_fail970:;
					    }
					  }
					else
					  {
/* #line 3222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
 || (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && TREE_CODE (captures[1]) == INTEGER_CST
 && tree_int_cst_sign_bit (captures[1]) == 0
 && TREE_CODE (captures[2]) == INTEGER_CST
 && tree_int_cst_sign_bit (captures[2]) == 0)
)
					      {
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail971;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3232, __FILE__, __LINE__);
						{
						  tree res_op0;
						  {
						    tree _o1[1], _r1;
						    _o1[0] = captures[1];
						    if (TREE_TYPE (_o1[0]) != type)
						      {
							_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						      }
						    else
						      _r1 = _o1[0];
						    res_op0 = _r1;
						  }
						  tree res_op1;
						  {
						    tree _o1[1], _r1;
						    _o1[0] = captures[2];
						    if (TREE_TYPE (_o1[0]) != type)
						      {
							_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						      }
						    else
						      _r1 = _o1[0];
						    res_op1 = _r1;
						  }
						  tree _r;
						  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
						  if (TREE_SIDE_EFFECTS (captures[3]))
						    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
						  return _r;
						}
next_after_fail971:;
					      }
					  }
				      }
				  }
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_456 (loc, type, _p0, _p1, captures, MINUS_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	      tree res = generic_simplify_456 (loc, type, _p0, _p1, captures, MINUS_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, MINUS_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, MINUS_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (tree_zero_one_valued_p (_q31))
		    {
		      {
/* #line 3613 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
			tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
      if (tree_zero_one_valued_p (_q30))
	{
	  switch (TREE_CODE (_q31))
	    {
	    case MINUS_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_q31, 0);
		tree _q51 = TREE_OPERAND (_q31, 1);
		if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		  {
		    {
/* #line 3613 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
		      tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (MINUS_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail972;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail972;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail972;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail972:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MINUS_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail973;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail973;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail973;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail973;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail973:;
	    }
	}
        break;
      }
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 4269 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail974;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail974;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4269, __FILE__, __LINE__);
      {
	tree res_op0;
	res_op0 = captures[0];
	tree _r;
	_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	return _r;
      }
next_after_fail974:;
    }
  }
if (real_zerop (_p0))
  {
    {
/* #line 4279 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 4279 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (fold_real_zero_addition_p (type, captures[1], captures[0], 0)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail975;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4280, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[1];
	    tree _r;
	    _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail975:;
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MINUS_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail976;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail976;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail976;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail976;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail976:;
	    }
	}
	if (integer_each_onep (_q31))
	  {
	    if (integer_zerop (_q32))
	      {
		{
/* #line 5067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		  tree res = generic_simplify_117 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case VIEW_CONVERT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      tree _q42 = TREE_OPERAND (_q30, 2);
	      if (integer_each_onep (_q41))
		{
		  if (integer_zerop (_q42))
		    {
		      {
/* #line 5067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
			tree res = generic_simplify_117 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case RDIV_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_177 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_q20))
	  {
	  case MULT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (tree_vec_same_elem_p (_q31))
		{
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 8359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
			tree res = generic_simplify_416 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if (tree_vec_same_elem_p (_q30))
		{
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 8359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
			tree res = generic_simplify_416 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case MAX_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  switch (TREE_CODE (_q41))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_q31))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 8452 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
				{
/* #line 8452 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto i = wi::neg (wi::to_wide (captures[2]));
/* #line 8454 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (wi::popcount (i) == 1
 && (wi::to_wide (captures[1])) == (i - 1)
)
				      {
/* #line 8456 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
					  {
					    if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail977;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail977;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8457, __FILE__, __LINE__);
					    {
					      tree res_op0;
					      res_op0 = captures[0];
					      tree res_op1;
					      res_op1 = captures[1];
					      tree _r;
					      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
					      return _r;
					    }
next_after_fail977:;
					  }
					else
					  {
					    if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail978;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail978;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8458, __FILE__, __LINE__);
					    {
					      if (! tree_invariant_p (captures[0])) goto next_after_fail978;
					      if (! tree_invariant_p (captures[1])) goto next_after_fail978;
					      tree res_op0;
					      {
						tree _o1[2], _r1;
						_o1[0] = unshare_expr (captures[0]);
						_o1[1] = unshare_expr (captures[1]);
						_r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
						res_op0 = _r1;
					      }
					      tree res_op1;
					      res_op1 = unshare_expr (captures[0]);
					      tree res_op2;
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[0];
						_o1[1] = captures[1];
						_r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						res_op2 = _r1;
					      }
					      tree _r;
					      _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
					      return _r;
					    }
next_after_fail978:;
					  }
				      }
				}
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail979;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail979:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q22))
	      {
	      case VECTOR_CST:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_PERM_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_p1, 0);
			tree _q61 = TREE_OPERAND (_p1, 1);
			tree _q62 = TREE_OPERAND (_p1, 2);
			if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
			  {
			    if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			      {
				switch (TREE_CODE (_q62))
				  {
				  case VECTOR_CST:
				    {
				      {
/* #line 8486 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
					tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, MINUS_EXPR);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_BIT_IOR_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail980;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail980;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 182, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = non_lvalue_loc (loc, res_op0);
	  return _r;
	}
next_after_fail980:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1027 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case RSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case NE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 1118 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_166 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
	if (integer_all_onesp (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case NE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_all_onesp (_q51))
		    {
		      {
/* #line 1127 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			    {
			      if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			    {
			      if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1153 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
				      tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			    {
			      switch (TREE_CODE (_q51))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1153 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
				      tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1159 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_330 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1159 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_330 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
			      tree res = generic_simplify_297 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
			      tree res = generic_simplify_297 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_q50))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
			      tree res = generic_simplify_297 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
			      tree res = generic_simplify_297 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_XOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1159 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_330 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 1159 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_330 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
			      tree res = generic_simplify_110 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
			      tree res = generic_simplify_110 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
			      tree res = generic_simplify_110 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1164 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
			      tree res = generic_simplify_110 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 1184 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
		    tree res = generic_simplify_341 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		{
		  {
/* #line 1184 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    tree res = generic_simplify_341 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 1184 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
		    tree res = generic_simplify_341 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		{
		  {
/* #line 1184 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
		    tree res = generic_simplify_341 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
			  {
			    {
/* #line 1195 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			      tree res = generic_simplify_247 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		      {
			if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
			  {
			    {
/* #line 1195 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			      tree res = generic_simplify_247 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
	      tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
	      tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			tree res = generic_simplify_444 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
			tree res = generic_simplify_444 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1195 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    {
/* #line 1195 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			      tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			tree res = generic_simplify_444 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 1190 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
			tree res = generic_simplify_444 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_XOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_XOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q70 };
			      tree res = generic_simplify_398 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
		      {
			if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
		      {
			if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
		      {
			if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
		      {
			if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
		      {
			if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
		      {
			if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			  {
			    {
/* #line 1215 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
			      tree res = generic_simplify_355 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail981;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1303, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[1];
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail981:;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 1308 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail982;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail982;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1308, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[0];
	  return _r;
	}
next_after_fail982:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
		      {
			{
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
			    tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
		      tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
			  tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
			  tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
			  tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
			  tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q30))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 1341 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
				    tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
			    {
			      if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
				    tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
				    tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
				    tree res = generic_simplify_12 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
			if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
			  {
			    {
/* #line 1432 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
			      tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
			  {
			    {
/* #line 1442 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
			      tree res = generic_simplify_29 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
		    tree res = generic_simplify_169 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
		    tree res = generic_simplify_169 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_IOR_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
				    tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
			  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			    {
			      if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
				    tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_IOR_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			    {
			      if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
				    tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
			  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			    {
			      if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
				{
				  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
				    tree res = generic_simplify_198 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1432 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
			      tree res = generic_simplify_23 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
		    tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1442 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
			      tree res = generic_simplify_29 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
	      tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
	      tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_IOR_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
	  if (res) return res;
	}
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q21 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q41, _q40, _q20 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case LT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case EQ_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case NE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case NE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case EQ_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case EQ_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNORDERED_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ORDERED_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNEQ_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LTGT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
					{
					  if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
					{
					  if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_q40))
	        {
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case NE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case NE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case EQ_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case EQ_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNORDERED_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ORDERED_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case GT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case GT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LE_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LE_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNEQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LTGT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_p1, 0);
			  tree _q81 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q80))
			    {
			    CASE_CONVERT:
			      {
				tree _q90 = TREE_OPERAND (_q80, 0);
				switch (TREE_CODE (_q90))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q100 = TREE_OPERAND (_q90, 0);
				      tree _q101 = TREE_OPERAND (_q90, 1);
				      if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
					{
					  if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q81))
			    {
			    CASE_CONVERT:
			      {
				tree _q100 = TREE_OPERAND (_q81, 0);
				switch (TREE_CODE (_q100))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q110 = TREE_OPERAND (_q100, 0);
				      tree _q111 = TREE_OPERAND (_q100, 1);
				      if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
					{
					  if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
					    {
					      {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
						tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
						if (res) return res;
					      }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case LT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case NE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case NE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case EQ_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case EQ_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case ORDERED_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case ORDERED_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case UNORDERED_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case UNORDERED_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNLT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNLE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNGE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNEQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LTGT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LTGT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case LTGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case UNEQ_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
			    {
			      if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case UNEQ_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
			    {
			      if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case LT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case NE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case NE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case EQ_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case EQ_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNORDERED_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case ORDERED_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case ORDERED_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ORDERED_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case UNORDERED_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case UNORDERED_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNLT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNLE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case GT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case GT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNGT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LE_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LE_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNGE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case UNEQ_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case LTGT_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case LTGT_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case LTGT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q70))
		      {
		      case UNEQ_EXPR:
		        {
			  tree _q80 = TREE_OPERAND (_q70, 0);
			  tree _q81 = TREE_OPERAND (_q70, 1);
			  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
			    {
			      if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q71))
		      {
		      case UNEQ_EXPR:
		        {
			  tree _q90 = TREE_OPERAND (_q71, 0);
			  tree _q91 = TREE_OPERAND (_q71, 1);
			  if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
			    {
			      if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
				{
				  {
/* #line 1963 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
				    tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      tree _q32 = TREE_OPERAND (_q20, 2);
	      switch (TREE_CODE (_q30))
	        {
		case LT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case EQ_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case NE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case NE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case EQ_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case EQ_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNORDERED_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ORDERED_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNEQ_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LTGT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
					{
					  if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
					    {
					      if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
						{
						  if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
					{
					  if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
					    {
					      if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
						{
						  if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      tree _q42 = TREE_OPERAND (_q21, 2);
	      switch (TREE_CODE (_q40))
	        {
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case NE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case NE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case EQ_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case EQ_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNORDERED_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ORDERED_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNLE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case GT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case GT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LE_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LE_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNGE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case UNEQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case LTGT_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LTGT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q100 = TREE_OPERAND (_p1, 0);
			  tree _q101 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q100))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q110 = TREE_OPERAND (_q100, 0);
				tree _q111 = TREE_OPERAND (_q100, 1);
				tree _q112 = TREE_OPERAND (_q100, 2);
				switch (TREE_CODE (_q110))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q120 = TREE_OPERAND (_q110, 0);
				      tree _q121 = TREE_OPERAND (_q110, 1);
				      if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
					{
					  if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
					    {
					      if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
						{
						  if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (_q101))
			    {
			    case VEC_COND_EXPR:
			      {
				tree _q120 = TREE_OPERAND (_q101, 0);
				tree _q121 = TREE_OPERAND (_q101, 1);
				tree _q122 = TREE_OPERAND (_q101, 2);
				switch (TREE_CODE (_q120))
				  {
				  case UNEQ_EXPR:
				    {
				      tree _q130 = TREE_OPERAND (_q120, 0);
				      tree _q131 = TREE_OPERAND (_q120, 1);
				      if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
					{
					  if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
					    {
					      if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
						{
						  if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
						    {
						      {
/* #line 1992 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
							tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
							if (res) return res;
						      }
						    }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q51))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_q51, 0);
		    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q50))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			{
/* #line 2119 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
			  tree res = generic_simplify_327 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q30))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q30))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41, _q31 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q40, _q31 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      tree _q51 = TREE_OPERAND (_q31, 1);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q51, _q30 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
		{
		  {
/* #line 1866 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q50, _q30 };
		    tree res = generic_simplify_232 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 1877 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_q20))
	  {
	  case LT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case NE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case EQ_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case ORDERED_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case ORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case UNORDERED_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNLT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNLE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNGE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNEQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LTGT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case LTGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case UNEQ_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (zerop (_q82))
					{
					  {
/* #line 1978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
					    tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_q20))
	  {
	  case LT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case NE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case EQ_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case ORDERED_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case ORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case UNORDERED_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNLT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNLE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case GT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LE_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNGE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case UNEQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case LTGT_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  case LTGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q22))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_COND_EXPR:
		      {
			tree _q80 = TREE_OPERAND (_p1, 0);
			tree _q81 = TREE_OPERAND (_p1, 1);
			tree _q82 = TREE_OPERAND (_p1, 2);
			switch (TREE_CODE (_q80))
			  {
			  case UNEQ_EXPR:
			    {
			      tree _q90 = TREE_OPERAND (_q80, 0);
			      tree _q91 = TREE_OPERAND (_q80, 1);
			      if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
				{
				  if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
				    {
				      if (integer_zerop (_q82))
					{
					  {
/* #line 2013 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
					    tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2467 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_IOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2656 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_411 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2671 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_435 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2687 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
			tree res = generic_simplify_382 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2656 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_411 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2671 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_435 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2687 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
			tree res = generic_simplify_382 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      if (tree_min_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case GT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2656 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_16 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2656 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_16 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
		      tree res = generic_simplify_101 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      tree res = generic_simplify_101 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
      if (tree_max_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case LT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2671 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2671 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_80 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_163 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2666 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_238 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_163 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			tree res = generic_simplify_80 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_163 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2666 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_238 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_163 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_47 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2771 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      if (tree_min_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case LE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2666 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_238 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2666 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_238 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2687 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
		      tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2687 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
		      tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
      if (tree_max_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case GE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2679 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case MULT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3358 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_445 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LSHIFT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3365 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 3375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_1 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case MULT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3365 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (tree_truth_valued_p (_p1))
	    {
	      {
/* #line 1926 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		if (res) return res;
	      }
	    }
        }
}
}
if (tree_truth_valued_p (_p0))
  {
    {
      tree _p1_pops[1];
      if (tree_logical_inverted_value (_p1, _p1_pops))
        {
	  tree _q30 = _p1_pops[0];
	  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	    {
	      {
/* #line 1926 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		if (res) return res;
	      }
	    }
}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 3375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_1 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case LSHIFT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3383 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 3397 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case LSHIFT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 3397 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail983;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail983;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail983;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail983:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail984;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail984;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail984;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail984;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail984:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail985;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail985;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail985;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail985;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail985:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case UNORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case UNORDERED_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
		    {
		      {
/* #line 5703 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5703 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (types_match (captures[0], captures[1])
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail986;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5704, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      res_op1 = captures[1];
			      tree _r;
			      _r = fold_build2_loc (loc, UNORDERED_EXPR, type, res_op0, res_op1);
			      return _r;
			    }
next_after_fail986:;
			  }
		      }
		    }
		  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		    {
		      {
/* #line 5711 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
			tree res = generic_simplify_310 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 5711 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
			tree res = generic_simplify_310 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case UNORDERED_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 5711 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			tree res = generic_simplify_367 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5711 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
			tree res = generic_simplify_367 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case GE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				  {
				    if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				      {
					if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail987;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail987;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail987;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail987;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail987;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail987;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail987:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail988;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail988;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail988;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail988;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail988:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
				      {
					if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail989;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail989;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail989;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail989;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail989;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail989;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail989:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail990;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail990;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail990;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail990;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail990:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case GT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				  {
				    if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				      {
					if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail991;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail991;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail991;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail991;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail991;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail991;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail991:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail992;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail992;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail992;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail992;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail992:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
				      {
					if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail993;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail993;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail993;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail993;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail993;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail993;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail993:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail994;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail994;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail994;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail994;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail994:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				  {
				    if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				      {
					if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail995;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail995;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail995;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail995;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail995;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail995;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail995:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail996;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail996;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail996;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail996;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail996:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
				      {
					if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail997;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail997;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail997;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail997;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail997;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail997;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail997:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail998;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail998;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail998;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail998;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail998:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				  {
				    if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				      {
					if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail999;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail999;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail999;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail999;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail999;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail999;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail999:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1000;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1000;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1000;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1000;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1000:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
				      {
					if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1001;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1001;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1001;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1001;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1001;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1001;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1001:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1002;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1002;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1002;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1002;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1002:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_175 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1003;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail1003:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_BIT_XOR_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1004;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1004;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 182, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = non_lvalue_loc (loc, res_op0);
	  return _r;
	}
next_after_fail1004:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1027 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case RSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			    {
			      if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			    {
			      if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				{
				  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
				    tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1153 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
				      tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			    {
			      switch (TREE_CODE (_q51))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1153 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
				      tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			{
/* #line 1169 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			  tree res = generic_simplify_381 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			{
/* #line 1169 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q30 };
			  tree res = generic_simplify_381 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 1174 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
		    tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 1174 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
		    tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  switch (TREE_CODE (_q41))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_q41, 0);
			{
/* #line 1169 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q60 };
			  tree res = generic_simplify_381 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		      {
			{
/* #line 1169 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
			  tree res = generic_simplify_381 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 1174 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 1174 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
		    tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 1220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
		tree res = generic_simplify_400 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 1220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
		tree res = generic_simplify_400 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_IOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      {
/* #line 1220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
		tree res = generic_simplify_400 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      {
/* #line 1220 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
		tree res = generic_simplify_400 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      {
/* #line 1225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
		tree res = generic_simplify_401 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      {
/* #line 1225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
		tree res = generic_simplify_401 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      {
/* #line 1225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
		tree res = generic_simplify_401 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      {
/* #line 1225 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
		tree res = generic_simplify_401 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
		      {
			{
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case BIT_AND_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				switch (TREE_CODE (_q71))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
					tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case BIT_AND_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q61))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
				  tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
		      {
			{
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
			  tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
		      {
			{
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
			  tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			{
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			  tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
			  tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 1325 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1005;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1325, __FILE__, __LINE__);
	{
	  tree _r;
	  _r =  build_zero_cst (type);
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail1005:;
      }
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1330 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1006;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1330, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
	  if (TREE_SIDE_EFFECTS (captures[1]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	  return _r;
	}
next_after_fail1006:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_q50))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				{
				  {
/* #line 1522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    tree res = generic_simplify_152 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			    {
			      if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
				{
				  {
/* #line 1522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    tree res = generic_simplify_152 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1437 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
			      tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    {
/* #line 1427 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			      tree res = generic_simplify_22 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    {
/* #line 1437 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
			      tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1455 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_31 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1460 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_34 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				{
				  {
/* #line 1522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    tree res = generic_simplify_152 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			    {
			      if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
				{
				  {
/* #line 1522 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    tree res = generic_simplify_152 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
	  {
	    {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
	      tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
	  {
	    {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
	      tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1437 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
			      tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 1437 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
			      tree res = generic_simplify_25 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1460 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_34 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
	  {
	    {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
	      tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
	  {
	    {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
	      tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1455 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_31 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 1468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_39 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  tree _q61 = TREE_OPERAND (_q50, 1);
			  switch (TREE_CODE (_q61))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
				  tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q51))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1571 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
			    tree res = generic_simplify_352 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
		    tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
	  {
	    {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
	      tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
	  {
	    {
/* #line 1579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
	      tree res = generic_simplify_136 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  {
/* #line 1585 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
			    tree res = generic_simplify_306 (loc, type, _p0, _p1, captures);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    {
/* #line 1585 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
		      tree res = generic_simplify_306 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		    break;
		  }
		case INTEGER_CST:
		  {
		    {
/* #line 1592 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
		      tree res = generic_simplify_41 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    {
/* #line 1585 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      tree res = generic_simplify_306 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 1585 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_306 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      {
/* #line 1592 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_41 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 2099 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1 };
	  tree res = generic_simplify_38 (loc, type, _p0, _p1, captures);
	  if (res) return res;
	}
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
		      {
			{
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
			  tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
		      {
			{
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
			  tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			  tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			{
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
			  tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
		{
		  {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
		    tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
	  {
	    {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
	      tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
	  {
	    {
/* #line 1626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
	      tree res = generic_simplify_262 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_XOR_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
				tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
			    {
			      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q70 };
				tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
			    {
			      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q71 };
				tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			    {
			      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q70 };
				tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q61 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q61 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q60 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
	  if (res) return res;
	}
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q61 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q60 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q61 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
		      {
			{
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q60 };
			  tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1641 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 1877 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_truth_valued_p (_q20))
	  {
	    if (tree_truth_valued_p (_q21))
	      {
		switch (TREE_CODE (_p1))
		  {
		  case EQ_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_p1, 0);
		      tree _q51 = TREE_OPERAND (_p1, 1);
		      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
			{
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1007;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1007:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1008;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1008:;
			      }
			    }
		        }
		      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
			{
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1009;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1009:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1010;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1010:;
			      }
			    }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_truth_valued_p (_q50))
		    {
		      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			{
			  if (tree_truth_valued_p (_q51))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1011;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1011:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1012;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1012:;
			      }
			    }
		        }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_truth_valued_p (_q50))
		    {
		      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			{
			  if (tree_truth_valued_p (_q51))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1013;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1013:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1014;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1014:;
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (tree_truth_valued_p (_p1))
	    {
	      {
/* #line 1926 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		if (res) return res;
	      }
	    }
        }
}
}
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case BIT_NOT_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    {
/* #line 2099 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1 };
	      tree res = generic_simplify_427 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	    break;
	  }
        default:;
        }
}
}
if (tree_truth_valued_p (_p0))
  {
    {
      tree _p1_pops[1];
      if (tree_logical_inverted_value (_p1, _p1_pops))
        {
	  tree _q30 = _p1_pops[0];
	  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	    {
	      {
/* #line 1926 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		tree res = generic_simplify_21 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		if (res) return res;
	      }
	    }
}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
/* #line 2099 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
	  tree res = generic_simplify_38 (loc, type, _p0, _p1, captures);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_nop_convert (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case BIT_NOT_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_q30, 0);
	    {
/* #line 2099 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
	      tree res = generic_simplify_427 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2467 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_475 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_XOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case MULT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3358 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_445 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LSHIFT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3365 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 3375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_1 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case MULT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3365 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 3375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_1 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case LSHIFT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3383 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 3397 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case LSHIFT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 3397 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
		    tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (tree_zero_one_valued_p (_q31))
		    {
		      {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
			tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		{
		  if (tree_zero_one_valued_p (_q31))
		    {
		      {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
			tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
      if (tree_zero_one_valued_p (_q30))
	{
	  switch (TREE_CODE (_q31))
	    {
	    case BIT_XOR_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_q31, 0);
		tree _q51 = TREE_OPERAND (_q31, 1);
		if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		  {
		    {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
		      tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
		if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
		  {
		    {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
		      tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (tree_zero_one_valued_p (_q21))
		{
		  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		    {
		      {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
		  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		    {
		      {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
			tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
      if (tree_zero_one_valued_p (_q20))
	{
	  switch (TREE_CODE (_q21))
	    {
	    case BIT_XOR_EXPR:
	      {
		tree _q40 = TREE_OPERAND (_q21, 0);
		tree _q41 = TREE_OPERAND (_q21, 1);
		if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		  {
		    {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
		      tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
		if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
		  {
		    {
/* #line 3619 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
		      tree res = generic_simplify_167 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1015;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1015;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1015;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1015:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1016;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1016;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1016;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1016;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1016:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (BIT_XOR_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1017;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1017;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1017;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1017;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1017:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case LT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5179 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
			tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5187 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
			tree res = generic_simplify_357 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case GE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5179 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
			tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5187 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _p0, _q20 };
			tree res = generic_simplify_357 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case ORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNLT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNLE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNGE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5128 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_26 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1018;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail1018:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_PARITY:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_PARITY:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_443 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITY);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_PARITYL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_PARITYL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_443 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYL);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_PARITYLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_PARITYLL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_443 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYLL);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_PARITYIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_PARITYIMAX:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_443 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_PARITYIMAX);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_PARITY:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_PARITY:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 7747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_443 (loc, type, _p0, _p1, captures, CFN_PARITY);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_POINTER_DIFF_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 192 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1019;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1019;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 192, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	  return _r;
	}
next_after_fail1019:;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _p0, 0))
    {
      {
/* #line 245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p0 };
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1020;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 245, __FILE__, __LINE__);
	{
	  tree _r;
	  _r =  build_zero_cst (type);
	  if (TREE_SIDE_EFFECTS (captures[1]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	  return _r;
	}
next_after_fail1020:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    {
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
			{
			  {
/* #line 2554 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2555 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (ptr_difference_const (captures[1], captures[3], &diff)
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1021;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2556, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  build_int_cst_type (type, diff);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    if (TREE_SIDE_EFFECTS (captures[3]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
				    return _r;
				  }
next_after_fail1021:;
				}
			  }
			}
		    }
		    break;
		  }
	        default:;
	        }
	      {
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
		  {
		    {
/* #line 2554 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2555 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (ptr_difference_const (captures[1], captures[3], &diff)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1022;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2556, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r =  build_int_cst_type (type, diff);
			      if (TREE_SIDE_EFFECTS (captures[1]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1022:;
			  }
		    }
		  }
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
			{
			  {
/* #line 2561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2562 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (ptr_difference_const (captures[1], captures[3], &diff)
)
				{
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1023;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2563, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  build_int_cst_type (type, diff);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    if (TREE_SIDE_EFFECTS (captures[3]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
				    return _r;
				  }
next_after_fail1023:;
				}
			  }
			}
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
		  {
		    {
/* #line 2561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2562 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (ptr_difference_const (captures[1], captures[3], &diff)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1024;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2563, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r =  build_int_cst_type (type, diff);
			      if (TREE_SIDE_EFFECTS (captures[1]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1024:;
			  }
		    }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      {
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
		  {
		    {
/* #line 2554 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2555 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (ptr_difference_const (captures[1], captures[3], &diff)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1025;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2556, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r =  build_int_cst_type (type, diff);
			      if (TREE_SIDE_EFFECTS (captures[0]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			      if (TREE_SIDE_EFFECTS (captures[3]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
			      return _r;
			    }
next_after_fail1025:;
			  }
		    }
		  }
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2552 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
	    {
	      {
/* #line 2554 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2555 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (ptr_difference_const (captures[1], captures[3], &diff)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1026;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2556, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  build_int_cst_type (type, diff);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail1026:;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case ADDR_EXPR:
	    {
	      {
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
		  {
		    {
/* #line 2561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2562 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (ptr_difference_const (captures[1], captures[3], &diff)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1027;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2563, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r =  build_int_cst_type (type, diff);
			      if (TREE_SIDE_EFFECTS (captures[0]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			      if (TREE_SIDE_EFFECTS (captures[3]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
			      return _r;
			    }
next_after_fail1027:;
			  }
		    }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	{
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
)
	    {
	      {
/* #line 2561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2562 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (ptr_difference_const (captures[1], captures[3], &diff)
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1028;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2563, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  build_int_cst_type (type, diff);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			return _r;
		      }
next_after_fail1028:;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case POINTER_PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 2568 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
			    {
/* #line 2568 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2569 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (ptr_difference_const (captures[0], captures[2], &diff)
)
				  {
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1029;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2570, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      res_op0 =  build_int_cst_type (type, diff);
				      tree res_op1;
				      {
					tree _o1[1], _r1;
					{
					  tree _o2[2], _r2;
					  _o2[0] = captures[1];
					  _o2[1] = captures[3];
					  _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
					  _o1[0] = _r2;
					}
					if (TREE_TYPE (_o1[0]) != type)
					  {
					    _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
					  }
					else
					  _r1 = _o1[0];
					res_op1 = _r1;
				      }
				      tree _r;
				      _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
				      if (TREE_SIDE_EFFECTS (captures[0]))
					_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
				      if (TREE_SIDE_EFFECTS (captures[2]))
					_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				      return _r;
				    }
next_after_fail1029:;
				  }
			    }
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case ADDR_EXPR:
	    {
	      {
/* #line 2574 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		{
/* #line 2574 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2575 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ptr_difference_const (captures[0], captures[2], &diff)
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1030;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2576, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 =  build_int_cst_type (type, diff);
			  tree res_op1;
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[1];
			    if (TREE_TYPE (_o1[0]) != type)
			      {
				_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			      }
			    else
			      _r1 = _o1[0];
			    res_op1 = _r1;
			  }
			  tree _r;
			  _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[0]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			  if (TREE_SIDE_EFFECTS (captures[2]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			  return _r;
			}
next_after_fail1030:;
		      }
		}
	      }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!TYPE_SATURATING (type)
)
		{
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
		    {
		      {
/* #line 3136 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1031;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3140, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o1[0]);
			      res_op0 = _r1;
			    }
			    tree _r;
			    _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			    if (TREE_SIDE_EFFECTS (captures[2]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			    return _r;
			  }
next_after_fail1031:;
		      }
		    }
		}
	    }
	  }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      tree _q31 = TREE_OPERAND (_p1, 1);
	      {
/* #line 2579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		{
/* #line 2579 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2580 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ptr_difference_const (captures[0], captures[1], &diff)
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1032;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2581, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 =  build_int_cst_type (type, diff);
			  tree res_op1;
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[2];
			    if (TREE_TYPE (_o1[0]) != type)
			      {
				_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
			      }
			    else
			      _r1 = _o1[0];
			    res_op1 = _r1;
			  }
			  tree _r;
			  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[0]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1032:;
		      }
		}
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
	  {
	    {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!TYPE_SATURATING (type)
)
		{
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
		    {
		      {
/* #line 3183 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1033;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3187, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[1];
				_r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
				_o1[0] = _r2;
			      }
			      if (TREE_TYPE (_o1[0]) != type)
				{
				  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				}
			      else
			        _r1 = _o1[0];
			      res_op0 = _r1;
			    }
			    tree _r;
			    _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
			    if (TREE_SIDE_EFFECTS (captures[2]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			    return _r;
			  }
next_after_fail1033:;
		      }
		    }
		}
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (!TYPE_SATURATING (type)
)
		      {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1034;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3235, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      res_op1 = captures[2];
			      tree _r;
			      _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
			      if (TREE_SIDE_EFFECTS (captures[1]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			      return _r;
			    }
next_after_fail1034:;
			  }
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
/* #line 2831 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (!TYPE_SATURATING (type)
)
		      {
/* #line 2889 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
			  {
			    {
/* #line 3240 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1035;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3244, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[1], _r1;
				    {
				      tree _o2[1], _r2;
				      _o2[0] = captures[1];
				      _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
				      _o1[0] = _r2;
				    }
				    if (TREE_TYPE (_o1[0]) != type)
				      {
					_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				      }
				    else
				      _r1 = _o1[0];
				    res_op0 = _r1;
				  }
				  tree res_op1;
				  {
				    tree _o1[1], _r1;
				    {
				      tree _o2[1], _r2;
				      _o2[0] = captures[2];
				      _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
				      _o1[0] = _r2;
				    }
				    if (TREE_TYPE (_o1[0]) != type)
				      {
					_r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				      }
				    else
				      _r1 = _o1[0];
				    res_op1 = _r1;
				  }
				  tree _r;
				  _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
				  if (TREE_SIDE_EFFECTS (captures[3]))
				    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
				  return _r;
				}
next_after_fail1035:;
			    }
			  }
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 4272 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1036;
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1036;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4272, __FILE__, __LINE__);
      {
	tree res_op0;
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (TREE_TYPE (_o1[0]) != type)
	    {
	      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
	    }
	  else
	    _r1 = _o1[0];
	  res_op0 = _r1;
	}
	tree _r;
	_r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	return _r;
      }
next_after_fail1036:;
    }
  }
  return NULL_TREE;
}

static tree
generic_simplify_MULT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (initializer_each_zero_or_onep (captures[1])
 && !HONOR_SNANS (type)
 && !HONOR_SIGNED_ZEROS (type)
)
	    {
	      {
/* #line 295 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
/* #line 296 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (itype
 && (!VECTOR_MODE_P (TYPE_MODE (type))
 || (VECTOR_MODE_P (TYPE_MODE (itype))
 && optab_handler (and_optab,
 TYPE_MODE (itype)) != CODE_FOR_nothing))
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1037;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 301, __FILE__, __LINE__);
		      {
			tree res_op0;
			{
			  tree _o1[2], _r1;
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[0];
			    _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, itype, _o2[0]);
			    _o1[0] = _r2;
			  }
			  {
			    tree _o2[2], _r2;
			    _o2[0] = captures[1];
			    _o2[1] =  build_zero_cst (type);
			    _r2 = fold_build2_loc (loc, NE_EXPR, itype, _o2[0], _o2[1]);
			    _o1[1] = _r2;
			  }
			  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, itype, _o1[0], _o1[1]);
			  res_op0 = _r1;
			}
			tree _r;
			_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
			return _r;
		      }
next_after_fail1037:;
		    }
	      }
	    }
	}
        break;
      }
    case COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	switch (TREE_CODE (_q30))
	  {
	  case GT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_onep (_q31))
			{
			  if (real_minus_onep (_q32))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1038;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1038;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1038:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_onep (_q31))
			{
			  if (real_minus_onep (_q32))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1039;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1039;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1039:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_onep (_q31))
			{
			  if (real_minus_onep (_q32))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1040;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1040;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1040:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_onep (_q31))
			{
			  if (real_minus_onep (_q32))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1041;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1041;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1041:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
if (integer_zerop (_p1))
  {
    {
/* #line 249 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1042;
      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 249, __FILE__, __LINE__);
      {
	tree _r;
	_r = captures[1];
	if (TREE_SIDE_EFFECTS (captures[0]))
	  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	return _r;
      }
next_after_fail1042:;
    }
  }
if (real_zerop (_p1))
  {
    {
/* #line 266 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 266 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!tree_expr_maybe_nan_p (captures[0])
 && (!HONOR_NANS (type) || !tree_expr_maybe_infinite_p (captures[0]))
 && (!HONOR_SIGNED_ZEROS (type) || tree_expr_nonnegative_p (captures[0]))
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1043;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 269, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[1];
	    if (TREE_SIDE_EFFECTS (captures[0]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	    return _r;
	  }
next_after_fail1043:;
	}
    }
  }
if (real_onep (_p1))
  {
    {
/* #line 275 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 275 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[0])
 && (!HONOR_SIGNED_ZEROS (type)
 || !COMPLEX_FLOAT_TYPE_P (type))
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1044;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1044;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 278, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = non_lvalue_loc (loc, res_op0);
	    return _r;
	  }
next_after_fail1044:;
	}
    }
  }
if (real_minus_onep (_p1))
  {
    {
/* #line 283 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 283 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[0])
 && (!HONOR_SIGNED_ZEROS (type)
 || !COMPLEX_FLOAT_TYPE_P (type))
)
	{
	  if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1045;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1045;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 286, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree _r;
	    _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	    return _r;
	  }
next_after_fail1045:;
	}
    }
  }
  switch (TREE_CODE (_p0))
    {
    case COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_q20))
	  {
	  case GT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (real_zerop (_q31))
		{
		  if (real_onep (_q21))
		    {
		      if (real_minus_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1046;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1046;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1046:;
				  }
			      }
			    }
		        }
		    }
		  if (real_minus_onep (_q21))
		    {
		      if (real_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1047;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1047;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1047:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (real_zerop (_q31))
		{
		  if (real_onep (_q21))
		    {
		      if (real_minus_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1048;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1048;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1048:;
				  }
			      }
			    }
		        }
		    }
		  if (real_minus_onep (_q21))
		    {
		      if (real_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1049;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1049;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1049:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (real_zerop (_q31))
		{
		  if (real_onep (_q21))
		    {
		      if (real_minus_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1050;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1050;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1050:;
				  }
			      }
			    }
		        }
		    }
		  if (real_minus_onep (_q21))
		    {
		      if (real_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1051;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1051;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1051:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (real_zerop (_q31))
		{
		  if (real_onep (_q21))
		    {
		      if (real_minus_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
/* #line 313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1052;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1052;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 314, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1052:;
				  }
			      }
			    }
		        }
		    }
		  if (real_minus_onep (_q21))
		    {
		      if (real_onep (_q22))
			{
			  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1053;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1053;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1053:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	switch (TREE_CODE (_q30))
	  {
	  case GT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_minus_onep (_q31))
			{
			  if (real_onep (_q32))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1054;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1054;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1054:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_minus_onep (_q31))
			{
			  if (real_onep (_q32))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1055;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1055;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1055:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_minus_onep (_q31))
			{
			  if (real_onep (_q32))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1056;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1056;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1056:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (real_zerop (_q41))
		    {
		      if (real_minus_onep (_q31))
			{
			  if (real_onep (_q32))
			    {
			      {
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
/* #line 321 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1057;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1057;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 322, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1057:;
				  }
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p1))
        {
	case CFN_BUILT_IN_COPYSIGNF:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGN:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNL:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF16:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32X:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64X:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128X:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	case CFN_COPYSIGN:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
			if (res) return res;
		      }
		    }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_COPYSIGNF:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGN:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNL:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF16:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32X:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64X:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128X:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_COPYSIGN:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if (real_onep (_q20))
		{
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 327 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
			if (res) return res;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q21, 0);
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
			      tree res = generic_simplify_125 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case CALL_EXPR:
      switch (get_call_combined_fn (_p1))
        {
	case CFN_BUILT_IN_COPYSIGNF:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGN:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNL:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF16:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32X:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64X:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128X:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_COPYSIGN:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if (real_onep (_q30))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q31, 0);
			if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
			  {
			    {
/* #line 333 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
if (integer_onep (_p1))
  {
    {
/* #line 366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      tree res = generic_simplify_433 (loc, type, _p0, _p1, captures, MULT_EXPR);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 502 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      {
/* #line 502 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wi::overflow_type overflow;
 wide_int mul = wi::mul (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (type), &overflow);
/* #line 509 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (!overflow || TYPE_OVERFLOW_WRAPS (type)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1058;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1058;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1058;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 510, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  wide_int_to_tree (type, mul);
				tree _r;
				_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail1058:;
			    }
		      }
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case MULT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 516 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  {
/* #line 516 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool overflowed = true;
 wi::overflow_type ovf1, ovf2;
 wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[5]),
 TYPE_SIGN (type), &ovf1);
 wide_int add = wi::mul (wi::to_wide (captures[4]), wi::to_wide (captures[5]),
 TYPE_SIGN (type), &ovf2);
 if (TYPE_OVERFLOW_UNDEFINED (type))
 {
 }
 else
 overflowed = false;
/* #line 549 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (!overflowed
)
					{
					  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1059;
					  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1059;
					  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1059;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1059;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 550, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[2];
					      _o1[1] =  wide_int_to_tree (type, mul);
					      _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree res_op1;
					    res_op1 =  wide_int_to_tree (type, add);
					    tree _r;
					    _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
					    return _r;
					  }
next_after_fail1059:;
					}
				  }
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	      {
		{
/* #line 839 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 839 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1060;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 840, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			  res_op1 = _r1;
			}
			tree _r;
			_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail1060:;
		    }
		}
	      }
	  }
        break;
      }
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
	  {
	    {
/* #line 919 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1061;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 919, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[1])) goto next_after_fail1061;
		tree res_op0;
		res_op0 = unshare_expr (captures[1]);
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail1061:;
	    }
	  }
        break;
      }
    case ABSU_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
	  {
	    {
/* #line 924 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20 };
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1062;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 924, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  if (TREE_TYPE (_o1[0]) != type)
		    {
		      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
		    }
		  else
		    _r1 = _o1[0];
		  captures[2] = _r1;
		}
		res_op0 = unshare_expr (captures[2]);
		tree res_op1;
		res_op1 = captures[2];
		tree _r;
		_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail1062:;
	    }
	  }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_COPYSIGNF:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGN:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGN);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNL:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF16:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF16);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF32X:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF32X);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF64X:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF64X);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_COPYSIGNF128X:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COPYSIGNF128X);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COPYSIGN:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 978 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, CFN_COPYSIGN);
		    if (res) return res;
		  }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if (integer_onep (_q40))
		{
		  {
/* #line 996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
		    tree res = generic_simplify_317 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_onep (_q30))
		{
		  {
/* #line 996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
		    tree res = generic_simplify_317 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case LSHIFT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if (integer_onep (_q30))
	  {
	    {
/* #line 996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
	      tree res = generic_simplify_317 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_onep (_q20))
	  {
	    {
/* #line 996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
	      tree res = generic_simplify_317 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 1093 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 1093 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_associative_math
 && single_use (captures[0])
)
			{
			  {
/* #line 1095 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
/* #line 1097 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (tem
)
				{
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1063;
				  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1063;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1063;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1098, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    res_op0 =  tem;
				    tree res_op1;
				    res_op1 = captures[2];
				    tree _r;
				    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
				    return _r;
				  }
next_after_fail1063:;
				}
			  }
			}
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case BIT_IOR_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q30))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  switch (TREE_CODE (_q40))
		    {
		    CASE_CONVERT:
		      {
			tree _q50 = TREE_OPERAND (_q40, 0);
			switch (TREE_CODE (_q50))
			  {
			  case LT_EXPR:
			    {
			      tree _q60 = TREE_OPERAND (_q50, 0);
			      tree _q61 = TREE_OPERAND (_q50, 1);
			      if (integer_zerop (_q61))
				{
				  if (integer_onep (_q31))
				    {
				      {
					tree _p1_pops[1];
					if (tree_nop_convert (_p1, _p1_pops))
					  {
					    tree _q100 = _p1_pops[0];
					    if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
					      {
						{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
						  tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
						  if (res) return res;
						}
					      }
}
				      }
				      if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
					{
					  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
					    tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case LT_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q40, 0);
			tree _q51 = TREE_OPERAND (_q40, 1);
			if (integer_zerop (_q51))
			  {
			    if (integer_onep (_q31))
			      {
				{
				  tree _p1_pops[1];
				  if (tree_nop_convert (_p1, _p1_pops))
				    {
				      tree _q90 = _p1_pops[0];
				      if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
					{
					  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					    tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
}
				}
				if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				  {
				    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
				      tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  {
	    tree _q30_pops[1];
	    if (tree_nop_convert (_q30, _q30_pops))
	      {
		tree _q40 = _q30_pops[0];
		switch (TREE_CODE (_q40))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_q40, 0);
		      switch (TREE_CODE (_q50))
		        {
			CASE_CONVERT:
			  {
			    tree _q60 = TREE_OPERAND (_q50, 0);
			    switch (TREE_CODE (_q60))
			      {
			      case LT_EXPR:
			        {
				  tree _q70 = TREE_OPERAND (_q60, 0);
				  tree _q71 = TREE_OPERAND (_q60, 1);
				  if (integer_zerop (_q71))
				    {
				      if (integer_onep (_q31))
					{
					  {
					    tree _p1_pops[1];
					    if (tree_nop_convert (_p1, _p1_pops))
					      {
						tree _q110 = _p1_pops[0];
						if ((_q110 == _q70 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q70, 0) && types_match (_q110, _q70)))
						  {
						    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
						      tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
						      if (res) return res;
						    }
						  }
}
					  }
					  if ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
					    {
					      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
						tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
						if (res) return res;
					      }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
			case LT_EXPR:
			  {
			    tree _q60 = TREE_OPERAND (_q50, 0);
			    tree _q61 = TREE_OPERAND (_q50, 1);
			    if (integer_zerop (_q61))
			      {
				if (integer_onep (_q31))
				  {
				    {
				      tree _p1_pops[1];
				      if (tree_nop_convert (_p1, _p1_pops))
				        {
					  tree _q100 = _p1_pops[0];
					  if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
					    {
					      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
						tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
						if (res) return res;
					      }
					    }
}
				    }
				    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
				      {
					{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
					  tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    break;
			  }
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
}
	  }
	    break;
	  }
        default:;
        }
      switch (TREE_CODE (_p1))
        {
	case BIT_IOR_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_p1, 0);
	    tree _q41 = TREE_OPERAND (_p1, 1);
	    switch (TREE_CODE (_q40))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  switch (TREE_CODE (_q50))
		    {
		    CASE_CONVERT:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			switch (TREE_CODE (_q60))
			  {
			  case LT_EXPR:
			    {
			      tree _q70 = TREE_OPERAND (_q60, 0);
			      tree _q71 = TREE_OPERAND (_q60, 1);
			      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
				{
				  if (integer_zerop (_q71))
				    {
				      if (integer_onep (_q41))
					{
					  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					    tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case LT_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			tree _q61 = TREE_OPERAND (_q50, 1);
			if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			  {
			    if (integer_zerop (_q61))
			      {
				if (integer_onep (_q41))
				  {
				    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
				      tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  {
	    tree _q40_pops[1];
	    if (tree_nop_convert (_q40, _q40_pops))
	      {
		tree _q50 = _q40_pops[0];
		switch (TREE_CODE (_q50))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_q50, 0);
		      switch (TREE_CODE (_q60))
		        {
			CASE_CONVERT:
			  {
			    tree _q70 = TREE_OPERAND (_q60, 0);
			    switch (TREE_CODE (_q70))
			      {
			      case LT_EXPR:
			        {
				  tree _q80 = TREE_OPERAND (_q70, 0);
				  tree _q81 = TREE_OPERAND (_q70, 1);
				  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				    {
				      if (integer_zerop (_q81))
					{
					  if (integer_onep (_q41))
					    {
					      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
						if (res) return res;
					      }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
			case LT_EXPR:
			  {
			    tree _q70 = TREE_OPERAND (_q60, 0);
			    tree _q71 = TREE_OPERAND (_q60, 1);
			    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			      {
				if (integer_zerop (_q71))
				  {
				    if (integer_onep (_q41))
				      {
					{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					  tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    break;
			  }
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
}
	  }
	    break;
	  }
        default:;
        }
    {
      tree _p1_pops[1];
      if (tree_nop_convert (_p1, _p1_pops))
        {
	  tree _q40 = _p1_pops[0];
	  switch (TREE_CODE (_q40))
	    {
	    case BIT_IOR_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_q40, 0);
		tree _q51 = TREE_OPERAND (_q40, 1);
		switch (TREE_CODE (_q50))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_q50, 0);
		      switch (TREE_CODE (_q60))
		        {
			CASE_CONVERT:
			  {
			    tree _q70 = TREE_OPERAND (_q60, 0);
			    switch (TREE_CODE (_q70))
			      {
			      case LT_EXPR:
			        {
				  tree _q80 = TREE_OPERAND (_q70, 0);
				  tree _q81 = TREE_OPERAND (_q70, 1);
				  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				    {
				      if (integer_zerop (_q81))
					{
					  if (integer_onep (_q51))
					    {
					      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
						if (res) return res;
					      }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
			case LT_EXPR:
			  {
			    tree _q70 = TREE_OPERAND (_q60, 0);
			    tree _q71 = TREE_OPERAND (_q60, 1);
			    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			      {
				if (integer_zerop (_q71))
				  {
				    if (integer_onep (_q51))
				      {
					{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					  tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    break;
			  }
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
	      {
		tree _q50_pops[1];
		if (tree_nop_convert (_q50, _q50_pops))
		  {
		    tree _q60 = _q50_pops[0];
		    switch (TREE_CODE (_q60))
		      {
		      case NEGATE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  switch (TREE_CODE (_q70))
			    {
			    CASE_CONVERT:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				switch (TREE_CODE (_q80))
				  {
				  case LT_EXPR:
				    {
				      tree _q90 = TREE_OPERAND (_q80, 0);
				      tree _q91 = TREE_OPERAND (_q80, 1);
				      if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
					{
					  if (integer_zerop (_q91))
					    {
					      if (integer_onep (_q51))
						{
						  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						    tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
						    if (res) return res;
						  }
					        }
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    case LT_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				  {
				    if (integer_zerop (_q81))
				      {
					if (integer_onep (_q51))
					  {
					    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					      if (res) return res;
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
}
	      }
	        break;
	      }
	    default:;
	    }
}
    }
}
}
  {
    tree _p1_pops[1];
    if (tree_nop_convert (_p1, _p1_pops))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		case NEGATE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    switch (TREE_CODE (_q50))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case LT_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
				  {
				    if (integer_zerop (_q71))
				      {
					if (integer_onep (_q41))
					  {
					    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					      if (res) return res;
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	    {
	      tree _q40_pops[1];
	      if (tree_nop_convert (_q40, _q40_pops))
	        {
		  tree _q50 = _q40_pops[0];
		  switch (TREE_CODE (_q50))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			switch (TREE_CODE (_q60))
			  {
			  CASE_CONVERT:
			    {
			      tree _q70 = TREE_OPERAND (_q60, 0);
			      switch (TREE_CODE (_q70))
			        {
				case LT_EXPR:
				  {
				    tree _q80 = TREE_OPERAND (_q70, 0);
				    tree _q81 = TREE_OPERAND (_q70, 1);
				    if ((_q80 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
				      {
					if (integer_zerop (_q81))
					  {
					    if (integer_onep (_q41))
					      {
						{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
						  tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
						  if (res) return res;
						}
					      }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
}
	    }
	      break;
	    }
          default:;
          }
}
  }
  switch (TREE_CODE (_p0))
    {
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case LT_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  tree _q51 = TREE_OPERAND (_q40, 1);
			  if (integer_zerop (_q51))
			    {
			      if (integer_onep (_q21))
				{
				  {
				    tree _p1_pops[1];
				    if (tree_nop_convert (_p1, _p1_pops))
				      {
					tree _q90 = _p1_pops[0];
					if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
					  {
					    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					      tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					      if (res) return res;
					    }
					  }
}
				  }
				  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				    {
				      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					if (res) return res;
				      }
				    }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    if (integer_zerop (_q41))
		      {
			if (integer_onep (_q21))
			  {
			    {
			      tree _p1_pops[1];
			      if (tree_nop_convert (_p1, _p1_pops))
			        {
				  tree _q80 = _p1_pops[0];
				  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
				    {
				      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					if (res) return res;
				      }
				    }
}
			    }
			    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			      {
				{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
				  tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      {
	tree _q20_pops[1];
	if (tree_nop_convert (_q20, _q20_pops))
	  {
	    tree _q30 = _q20_pops[0];
	    switch (TREE_CODE (_q30))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  switch (TREE_CODE (_q40))
		    {
		    CASE_CONVERT:
		      {
			tree _q50 = TREE_OPERAND (_q40, 0);
			switch (TREE_CODE (_q50))
			  {
			  case LT_EXPR:
			    {
			      tree _q60 = TREE_OPERAND (_q50, 0);
			      tree _q61 = TREE_OPERAND (_q50, 1);
			      if (integer_zerop (_q61))
				{
				  if (integer_onep (_q21))
				    {
				      {
					tree _p1_pops[1];
					if (tree_nop_convert (_p1, _p1_pops))
					  {
					    tree _q100 = _p1_pops[0];
					    if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
					      {
						{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
						  tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
						  if (res) return res;
						}
					      }
}
				      }
				      if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
					{
					  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
					    tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case LT_EXPR:
		      {
			tree _q50 = TREE_OPERAND (_q40, 0);
			tree _q51 = TREE_OPERAND (_q40, 1);
			if (integer_zerop (_q51))
			  {
			    if (integer_onep (_q21))
			      {
				{
				  tree _p1_pops[1];
				  if (tree_nop_convert (_p1, _p1_pops))
				    {
				      tree _q90 = _p1_pops[0];
				      if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
					{
					  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
					    tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
}
				}
				if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				  {
				    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
				      tree res = generic_simplify_289 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_IOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    switch (TREE_CODE (_q50))
		      {
		      case LT_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  tree _q61 = TREE_OPERAND (_q50, 1);
			  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
			    {
			      if (integer_zerop (_q61))
				{
				  if (integer_onep (_q31))
				    {
				      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					if (res) return res;
				      }
				    }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			if (integer_zerop (_q51))
			  {
			    if (integer_onep (_q31))
			      {
				{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
				  tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
				  if (res) return res;
				}
			      }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      {
	tree _q30_pops[1];
	if (tree_nop_convert (_q30, _q30_pops))
	  {
	    tree _q40 = _q30_pops[0];
	    switch (TREE_CODE (_q40))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  switch (TREE_CODE (_q50))
		    {
		    CASE_CONVERT:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			switch (TREE_CODE (_q60))
			  {
			  case LT_EXPR:
			    {
			      tree _q70 = TREE_OPERAND (_q60, 0);
			      tree _q71 = TREE_OPERAND (_q60, 1);
			      if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
				{
				  if (integer_zerop (_q71))
				    {
				      if (integer_onep (_q31))
					{
					  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					    tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					    if (res) return res;
					  }
				        }
				    }
			        }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case LT_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			tree _q61 = TREE_OPERAND (_q50, 1);
			if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
			  {
			    if (integer_zerop (_q61))
			      {
				if (integer_onep (_q31))
				  {
				    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
				      tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_nop_convert (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case BIT_IOR_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_q30, 0);
	    tree _q41 = TREE_OPERAND (_q30, 1);
	    switch (TREE_CODE (_q40))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  switch (TREE_CODE (_q50))
		    {
		    case LT_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			tree _q61 = TREE_OPERAND (_q50, 1);
			if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
			  {
			    if (integer_zerop (_q61))
			      {
				if (integer_onep (_q41))
				  {
				    {
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
				      tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
				      if (res) return res;
				    }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  {
	    tree _q40_pops[1];
	    if (tree_nop_convert (_q40, _q40_pops))
	      {
		tree _q50 = _q40_pops[0];
		switch (TREE_CODE (_q50))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_q50, 0);
		      switch (TREE_CODE (_q60))
		        {
			case LT_EXPR:
			  {
			    tree _q70 = TREE_OPERAND (_q60, 0);
			    tree _q71 = TREE_OPERAND (_q60, 1);
			    if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
			      {
				if (integer_zerop (_q71))
				  {
				    if (integer_onep (_q41))
				      {
					{
/* #line 1680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					  tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
					  if (res) return res;
					}
				      }
				  }
			      }
			    break;
			  }
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
}
	  }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if (tree_negate_expr_p (_q50))
		      {
			{
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
			  tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    if (tree_negate_expr_p (_p1))
	      {
		{
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
		  tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case ORDERED_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNLT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, UNLT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNLE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, UNLE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, UNGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNGE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, UNGE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNEQ_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case LTGT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
		tree res = generic_simplify_368 (loc, type, _p0, _p1, captures, LTGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (tree_negate_expr_p (_q20))
	{
	  switch (TREE_CODE (_p1))
	    {
	    CASE_CONVERT:
	      {
		tree _q40 = TREE_OPERAND (_p1, 0);
		switch (TREE_CODE (_q40))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_q40, 0);
		      {
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
			tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		      break;
		    }
	          default:;
	          }
	        break;
	      }
	    case NEGATE_EXPR:
	      {
		tree _q40 = TREE_OPERAND (_p1, 0);
		{
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		  tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      if (tree_negate_expr_p (_q40))
		{
		  {
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		    tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
      if (tree_negate_expr_p (_p1))
	{
	  {
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
if (tree_negate_expr_p (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      CASE_CONVERT:
        {
	  tree _q30 = TREE_OPERAND (_p1, 0);
	  switch (TREE_CODE (_q30))
	    {
	    case NEGATE_EXPR:
	      {
		tree _q40 = TREE_OPERAND (_q30, 0);
		{
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
		  tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	        break;
	      }
	    default:;
	    }
          break;
        }
      case NEGATE_EXPR:
        {
	  tree _q30 = TREE_OPERAND (_p1, 0);
	  {
/* #line 1720 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	    tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
	    if (res) return res;
	  }
          break;
        }
      default:;
      }
  }
if (tree_zero_one_valued_p (_p0))
  {
    if (tree_zero_one_valued_p (_p1))
      {
	{
/* #line 1953 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1953 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1064;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1954, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree _r;
		_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail1064:;
	    }
	}
      }
  }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case LT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNORDERED_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case ORDERED_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNLT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, UNLT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNLE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, UNLE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNGT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, UNGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNGE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, UNGE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case UNEQ_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case LTGT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
		tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, LTGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
		      {
			{
/* #line 4214 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
			  tree res = generic_simplify_121 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
		{
		  {
/* #line 4214 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
		    tree res = generic_simplify_121 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case EXACT_DIV_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  tree _q51 = TREE_OPERAND (_q40, 1);
			  switch (TREE_CODE (_q51))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_q31))
				  {
				  case INTEGER_CST:
				    {
				      if ((_p1 == _q51 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q51, 0))
					{
					  {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
					    tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, PLUS_EXPR);
					    if (res) return res;
					  }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case EXACT_DIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_q41))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_q31))
			    {
			    case INTEGER_CST:
			      {
				if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q41, 0))
				  {
				    {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
				      tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case EXACT_DIV_EXPR:
		        {
			  tree _q50 = TREE_OPERAND (_q40, 0);
			  tree _q51 = TREE_OPERAND (_q40, 1);
			  switch (TREE_CODE (_q51))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_q31))
				  {
				  case INTEGER_CST:
				    {
				      if ((_p1 == _q51 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q51, 0))
					{
					  {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
					    tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MINUS_EXPR);
					    if (res) return res;
					  }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case EXACT_DIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_q41))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_q31))
			    {
			    case INTEGER_CST:
			      {
				if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q41, 0))
				  {
				    {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
				      tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MINUS_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 4214 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
		    tree res = generic_simplify_121 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
	  {
	    {
/* #line 4214 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
	      tree res = generic_simplify_121 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_q41))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q41, 0))
				  {
				    {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
				      tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
			    {
			      {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
				tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, PLUS_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_q41))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q41, 0))
				  {
				    {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
				      tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MINUS_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
			    {
			      {
/* #line 4233 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
				tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MINUS_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 4285 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1065;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1065;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4285, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	  return _r;
	}
next_after_fail1065:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4291 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		tree res = generic_simplify_204 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q31))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4291 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
		tree res = generic_simplify_204 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1066;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1066;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1066;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1066:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1067;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1067;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1067;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1067;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1067:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MULT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1068;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1068;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1068;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1068;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1068:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1069;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1069;
				  return _r;
				}
next_after_fail1069:;
			      }
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1070;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1070;
				  return _r;
				}
next_after_fail1070:;
			      }
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1071;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1071;
				  return _r;
				}
next_after_fail1071:;
			      }
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTF16:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF16);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTF32:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTF64:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTF128:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTF32X:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF32X);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTF64X:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF64X);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTF128X:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF128X);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    tree res = generic_simplify_20 (loc, type, _p0, _p1, captures, CFN_SQRT);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1072;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_SQRT, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1072;
				  return _r;
				}
next_after_fail1072:;
			      }
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CBRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_CBRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1073;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1073;
				  return _r;
				}
next_after_fail1073:;
			      }
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CBRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_CBRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1074;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1074;
				  return _r;
				}
next_after_fail1074:;
			      }
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CBRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_CBRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1075;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1075;
				  return _r;
				}
next_after_fail1075:;
			      }
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXPF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXPF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1076;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1076;
				  return _r;
				}
next_after_fail1076:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWF:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1077;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1077;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1077;
					    return _r;
					  }
next_after_fail1077:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXP:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXP:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1078;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1078;
				  return _r;
				}
next_after_fail1078:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1079;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1079;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1079;
					    return _r;
					  }
next_after_fail1079:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXPL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXPL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1080;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1080;
				  return _r;
				}
next_after_fail1080:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWL:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1081;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1081;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1081;
					    return _r;
					  }
next_after_fail1081:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_EXP:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_EXP:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1082;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1082;
				  return _r;
				}
next_after_fail1082:;
			      }
			  }
		        }
  break;
		    case CFN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1083;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1083;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1083;
					    return _r;
					  }
next_after_fail1083:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXP2F:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXP2F:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1084;
				  return _r;
				}
next_after_fail1084:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWF:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1085;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1085;
					    return _r;
					  }
next_after_fail1085:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXP2:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXP2:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1086;
				  return _r;
				}
next_after_fail1086:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1087;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1087;
					    return _r;
					  }
next_after_fail1087:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXP2L:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXP2L:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1088;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1088;
				  return _r;
				}
next_after_fail1088:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWL:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1089;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1089;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1089;
					    return _r;
					  }
next_after_fail1089:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_EXP2:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_EXP2:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1090;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1090;
				  return _r;
				}
next_after_fail1090:;
			      }
			  }
		        }
  break;
		    case CFN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1091;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1091;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1091;
					    return _r;
					  }
next_after_fail1091:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXP10F:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXP10F:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1092;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1092;
				  return _r;
				}
next_after_fail1092:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWF:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1093;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1093;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1093;
					    return _r;
					  }
next_after_fail1093:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXP10:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXP10:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1094;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1094;
				  return _r;
				}
next_after_fail1094:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1095;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1095;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1095;
					    return _r;
					  }
next_after_fail1095:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXP10L:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_EXP10L:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1096;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1096;
				  return _r;
				}
next_after_fail1096:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWL:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1097;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1097;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1097;
					    return _r;
					  }
next_after_fail1097:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_EXP10:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_EXP10:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1098;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1098;
				  return _r;
				}
next_after_fail1098:;
			      }
			  }
		        }
  break;
		    case CFN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1099;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1099;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1099;
					    return _r;
					  }
next_after_fail1099:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POW10F:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POW10F:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1100;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1100;
				  return _r;
				}
next_after_fail1100:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWF:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1101;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1101;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1101;
					    return _r;
					  }
next_after_fail1101:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POW10:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POW10:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1102;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1102;
				  return _r;
				}
next_after_fail1102:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1103;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1103;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1103;
					    return _r;
					  }
next_after_fail1103:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POW10L:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POW10L:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1104;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6513, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[3];
				    _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
				  if (!_r)
				    goto next_after_fail1104;
				  return _r;
				}
next_after_fail1104:;
			      }
			  }
		        }
  break;
		    case CFN_BUILT_IN_POWL:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  tree _q41 = CALL_EXPR_ARG (_p1, 1);
			  switch (TREE_CODE (_q40))
			    {
			    case REAL_CST:
			      {
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1105;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1105;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1105;
					    return _r;
					  }
next_after_fail1105:;
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWF:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q20))
	        {
		case REAL_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case CALL_EXPR:
		        switch (get_call_combined_fn (_p1))
		          {
			  case CFN_BUILT_IN_EXPF:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1106;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1106;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1106;
					    return _r;
					  }
next_after_fail1106:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_EXP2F:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1107;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1107;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1107;
					    return _r;
					  }
next_after_fail1107:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_EXP10F:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1108;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1108;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1108;
					    return _r;
					  }
next_after_fail1108:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_POW10F:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1109;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1109;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1109;
					    return _r;
					  }
next_after_fail1109:;
					}
				    }
				}
			      }
  break;
			  default:;
		          }
		        break;
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POW:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q20))
	        {
		case REAL_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case CALL_EXPR:
		        switch (get_call_combined_fn (_p1))
		          {
			  case CFN_BUILT_IN_EXP:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1110;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1110;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1110;
					    return _r;
					  }
next_after_fail1110:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_EXP2:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1111;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1111;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1111;
					    return _r;
					  }
next_after_fail1111:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_EXP10:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1112;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1112;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1112;
					    return _r;
					  }
next_after_fail1112:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_POW10:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1113;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1113;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1113;
					    return _r;
					  }
next_after_fail1113:;
					}
				    }
				}
			      }
  break;
			  default:;
		          }
		        break;
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWL:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q20))
	        {
		case REAL_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case CALL_EXPR:
		        switch (get_call_combined_fn (_p1))
		          {
			  case CFN_BUILT_IN_EXPL:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1114;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1114;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1114;
					    return _r;
					  }
next_after_fail1114:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_EXP2L:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1115;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1115;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1115;
					    return _r;
					  }
next_after_fail1115:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_EXP10L:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1116;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1116;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1116;
					    return _r;
					  }
next_after_fail1116:;
					}
				    }
				}
			      }
  break;
			  case CFN_BUILT_IN_POW10L:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1117;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1117;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1117;
					    return _r;
					  }
next_after_fail1117:;
					}
				    }
				}
			      }
  break;
			  default:;
		          }
		        break;
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_POW:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q20))
	        {
		case REAL_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case CALL_EXPR:
		        switch (get_call_combined_fn (_p1))
		          {
			  case CFN_EXP:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1118;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_LOG, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1118;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_EXP, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1118;
					    return _r;
					  }
next_after_fail1118:;
					}
				    }
				}
			      }
  break;
			  case CFN_EXP2:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1119;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_LOG2, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1119;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_EXP2, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1119;
					    return _r;
					  }
next_after_fail1119:;
					}
				    }
				}
			      }
  break;
			  case CFN_EXP10:
			    if (call_expr_nargs (_p1) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_p1, 0);
				{
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (flag_unsafe_math_optimizations
)
				    {
/* #line 6649 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
					{
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1120;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6651, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[1];
						  _r3 = maybe_build_call_expr_loc (loc, CFN_LOG10, TREE_TYPE (_o3[0]), 1, _o3[0]);
						  if (!_r3)
						    goto next_after_fail1120;
						  _o2[0] = _r3;
						}
						_o2[1] = captures[2];
						_r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						_o1[0] = _r2;
					      }
					      _o1[1] = captures[4];
					      _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      res_op0 = _r1;
					    }
					    tree _r;
					    _r = maybe_build_call_expr_loc (loc, CFN_EXP10, type, 1, res_op0);
					    if (!_r)
					      goto next_after_fail1120;
					    return _r;
					  }
next_after_fail1120:;
					}
				    }
				}
			      }
  break;
			  default:;
		          }
		        break;
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_POW);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TANF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COSF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TAN:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COS:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TANL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COSL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_TAN:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_COS:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_COSF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_TANF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_COS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_TAN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_COSL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_TANL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_COS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_TAN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
				tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_COS, CFN_SIN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case CALL_EXPR:
      switch (get_call_combined_fn (_p1))
        {
	case CFN_BUILT_IN_POWF:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case REAL_CST:
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_POW:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case REAL_CST:
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_BUILT_IN_POWL:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case REAL_CST:
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	case CFN_POW:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  switch (TREE_CODE (_q31))
		    {
		    case REAL_CST:
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			  tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, CFN_POW);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1121;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail1121:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q22))
	      {
	      case VECTOR_CST:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case VEC_PERM_EXPR:
		      {
			tree _q60 = TREE_OPERAND (_p1, 0);
			tree _q61 = TREE_OPERAND (_p1, 1);
			tree _q62 = TREE_OPERAND (_p1, 2);
			if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
			  {
			    if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			      {
				switch (TREE_CODE (_q62))
				  {
				  case VECTOR_CST:
				    {
				      {
/* #line 8486 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
					tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, MULT_EXPR);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_POWF:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POWF:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q50 = CALL_EXPR_ARG (_p1, 0);
			  tree _q51 = CALL_EXPR_ARG (_p1, 1);
			  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
				if (res) return res;
			      }
			    }
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POW:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q50 = CALL_EXPR_ARG (_p1, 0);
			  tree _q51 = CALL_EXPR_ARG (_p1, 1);
			  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
				if (res) return res;
			      }
			    }
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWL:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POWL:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q50 = CALL_EXPR_ARG (_p1, 0);
			  tree _q51 = CALL_EXPR_ARG (_p1, 1);
			  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
				if (res) return res;
			      }
			    }
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_POW:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_POW:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q50 = CALL_EXPR_ARG (_p1, 0);
			  tree _q51 = CALL_EXPR_ARG (_p1, 1);
			  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_POW);
				if (res) return res;
			      }
			    }
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, CFN_POW);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWIF:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POWIF:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q50 = CALL_EXPR_ARG (_p1, 0);
			  tree _q51 = CALL_EXPR_ARG (_p1, 1);
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
				  {
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1122;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6858, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[2], _r1;
					_o1[0] = captures[1];
					_o1[1] = captures[4];
					_r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					res_op0 = _r1;
				      }
				      tree res_op1;
				      res_op1 = captures[2];
				      tree _r;
				      _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIF, type, 2, res_op0, res_op1);
				      if (!_r)
				        goto next_after_fail1122;
				      return _r;
				    }
next_after_fail1122:;
				  }
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWI:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POWI:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q50 = CALL_EXPR_ARG (_p1, 0);
			  tree _q51 = CALL_EXPR_ARG (_p1, 1);
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
				  {
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1123;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6858, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[2], _r1;
					_o1[0] = captures[1];
					_o1[1] = captures[4];
					_r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					res_op0 = _r1;
				      }
				      tree res_op1;
				      res_op1 = captures[2];
				      tree _r;
				      _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWI, type, 2, res_op0, res_op1);
				      if (!_r)
				        goto next_after_fail1123;
				      return _r;
				    }
next_after_fail1123:;
				  }
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWIL:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_POWIL:
		      if (call_expr_nargs (_p1) == 2)
    {
			  tree _q50 = CALL_EXPR_ARG (_p1, 0);
			  tree _q51 = CALL_EXPR_ARG (_p1, 1);
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
				  {
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1124;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6858, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[2], _r1;
					_o1[0] = captures[1];
					_o1[1] = captures[4];
					_r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					res_op0 = _r1;
				      }
				      tree res_op1;
				      res_op1 = captures[2];
				      tree _r;
				      _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POWIL, type, 2, res_op0, res_op1);
				      if (!_r)
				        goto next_after_fail1124;
				      return _r;
				    }
next_after_fail1124:;
				  }
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_EQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case CEIL_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, EQ_EXPR, CEIL_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case FLOOR_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, EQ_EXPR, FLOOR_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case ROUND_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, EQ_EXPR, ROUND_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case TRUNC_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, EQ_EXPR, TRUNC_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_zero_one_valued_p (_q20))
	  {
	    switch (TREE_CODE (_q21))
	      {
	      case INTEGER_CST:
	        {
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 2049 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 2049 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (tree_fits_shwi_p (captures[1])
 && tree_to_shwi (captures[1]) > 0
 && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1125;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2052, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      res_op1 = captures[2];
			      tree _r;
			      _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			      if (TREE_SIDE_EFFECTS (captures[1]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			      return _r;
			    }
next_after_fail1125:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_truth_valued_p (_q20))
	  {
	    if (tree_truth_valued_p (_q21))
	      {
		switch (TREE_CODE (_p1))
		  {
		  case BIT_XOR_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_p1, 0);
		      tree _q51 = TREE_OPERAND (_p1, 1);
		      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
			{
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1126;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1126:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1127;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1127:;
			      }
			    }
		        }
		      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
			{
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1128;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1128:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1129;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1129:;
			      }
			    }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_truth_valued_p (_q50))
		    {
		      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			{
			  if (tree_truth_valued_p (_q51))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1130;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1130:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1131;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1131:;
			      }
			    }
		        }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_truth_valued_p (_q50))
		    {
		      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			{
			  if (tree_truth_valued_p (_q51))
			    {
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1132;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1132:;
			      }
			      {
/* #line 2072 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1133;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2072, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[1];
				    _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1133:;
			      }
			    }
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if (tree_truth_valued_p (_q20))
	  {
	    if (tree_truth_valued_p (_p1))
	      {
		{
/* #line 2112 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		  tree res = generic_simplify_343 (loc, type, _p0, _p1, captures);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case MULT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2160 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_346 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case EXACT_DIV_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
				  {
				    {
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, EQ_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q41))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_q41, 0);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
      {
	tree _p1_pops[1];
	if (tree_nop_convert (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    switch (TREE_CODE (_q40))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  tree _q51 = TREE_OPERAND (_q40, 1);
		  switch (TREE_CODE (_q51))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q50))
		    {
		    CASE_CONVERT:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
		  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1134;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1134:;
		      }
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1135;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1135:;
		      }
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1136;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1136:;
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1137;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1137:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2310 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2310 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1138;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2313, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1138:;
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2337 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2337 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1139;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2340, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[2];
			  tree res_op1;
			  res_op1 = captures[1];
			  tree _r;
			  _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[0]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			  return _r;
			}
next_after_fail1139:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (tree_truth_valued_p (_p1))
	    {
	      {
/* #line 1931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	    }
        }
}
}
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q31))
	      {
	      CASE_CONVERT:
	        {
		  tree _q50 = TREE_OPERAND (_q31, 0);
		  switch (TREE_CODE (_p1))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q30))
	      {
	      CASE_CONVERT:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  switch (TREE_CODE (_p1))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q31))
	      {
	      CASE_CONVERT:
	        {
		  tree _q50 = TREE_OPERAND (_q31, 0);
		  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_p1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
		  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
		  if (res) return res;
		}
	      }
	    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
		  if (res) return res;
		}
	      }
	    break;
	  }
	case POINTER_PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q30))
	      {
	      CASE_CONVERT:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  switch (TREE_CODE (_p1))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			      tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		    {
		      {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_p1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		    {
		      {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
	      {
		{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
		  if (res) return res;
		}
	      }
	    break;
	  }
        default:;
        }
}
}
if (tree_truth_valued_p (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      case BIT_NOT_EXPR:
        {
	  tree _q30 = TREE_OPERAND (_p1, 0);
	  if (tree_truth_valued_p (_q30))
	    {
	      {
/* #line 2112 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
		tree res = generic_simplify_343 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	    }
          break;
        }
      default:;
      }
  {
    tree _p1_pops[1];
    if (tree_logical_inverted_value (_p1, _p1_pops))
      {
	tree _q30 = _p1_pops[0];
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
}
  }
  }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q31))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q30))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_nop_convert (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case PLUS_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_q30, 0);
	    tree _q41 = TREE_OPERAND (_q30, 1);
	    switch (TREE_CODE (_q41))
	      {
	      CASE_CONVERT:
	        {
		  tree _q60 = TREE_OPERAND (_q41, 0);
		  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q40))
	      {
	      CASE_CONVERT:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
		  if (res) return res;
		}
	      }
	    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
		  if (res) return res;
		}
	      }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
			  tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
      {
	tree _p1_pops[1];
	if (tree_nop_convert (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    switch (TREE_CODE (_q40))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  tree _q51 = TREE_OPERAND (_q40, 1);
		  switch (TREE_CODE (_q50))
		    {
		    CASE_CONVERT:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			  {
			    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			      tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		    {
		      {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    default:;
    }
  {
    tree _p1_pops[1];
    if (tree_nop_convert (_p1, _p1_pops))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			  tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
		    tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
}
  }
  switch (TREE_CODE (_p0))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
			  tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case ADDR_EXPR:
	    {
	      {
/* #line 2384 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
		tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case POINTER_PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 2389 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
			    tree res = generic_simplify_59 (loc, type, _p0, _p1, captures, EQ_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
	      tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      tree _q31 = TREE_OPERAND (_p1, 1);
	      {
/* #line 2384 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 2412 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_q51))
			    {
			    CASE_CONVERT:
			      {
				tree _q70 = TREE_OPERAND (_q51, 0);
				if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
				  {
				    {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				      tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q31))
		      {
		      CASE_CONVERT:
		        {
			  tree _q50 = TREE_OPERAND (_q31, 0);
			  switch (TREE_CODE (_p1))
			    {
			    CASE_CONVERT:
			      {
				tree _q70 = TREE_OPERAND (_p1, 0);
				if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
				  {
				    {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				      tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q40))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q41))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q41, 0);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q21, 0);
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		{
		  {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
		    tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q41))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q41, 0);
			  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_q31))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q31, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		{
		  {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3568 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_69 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3577 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_with_possible_nonzero_bits2 (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (tree_with_certain_nonzero_bits2 (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2449 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
}
      }
}
}
{
  tree _p0_pops[1];
  if (tree_with_certain_nonzero_bits2 (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (tree_with_possible_nonzero_bits2 (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2449 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
}
      }
}
}
  switch (TREE_CODE (_p1))
    {
    case MIN_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MAX_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_pow2p (_q30))
		{
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 3777 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_127 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
			    if (res) return res;
			  }
		        }
		    }
	        }
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 3811 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_191 (loc, type, _p0, _p1, captures, EQ_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      if (integer_onep (_q30))
		{
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 3947 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
			    tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
			    if (res) return res;
			  }
		        }
		    }
	        }
	      break;
	    }
	  case RSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_pow2p (_q30))
		{
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 3784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_328 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
			    if (res) return res;
			  }
		        }
		    }
	        }
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 3823 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_72 (loc, type, _p0, _p1, captures, EQ_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      {
	tree _q20_pops[1];
	if (tree_nop_convert (_q20, _q20_pops))
	  {
	    tree _q30 = _q20_pops[0];
	    switch (TREE_CODE (_q30))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  tree _q41 = TREE_OPERAND (_q30, 1);
		  if (integer_onep (_q40))
		    {
		      if (integer_pow2p (_q21))
			{
			  if (integer_zerop (_p1))
			    {
			      {
/* #line 3947 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
				tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				if (res) return res;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LROTATE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 3993 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_155 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case RROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case RROTATE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 3993 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_155 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
		{
		  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		    {
		      {
/* #line 4226 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			tree res = generic_simplify_206 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		    {
		      {
/* #line 4226 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
			tree res = generic_simplify_206 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q41, 0) && types_match (_q31, _q41)))
		    {
		      {
/* #line 4226 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			tree res = generic_simplify_206 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case TRUNC_DIV_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      tree _q51 = TREE_OPERAND (_q31, 1);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q30, 0) && types_match (_q51, _q30)))
		    {
		      {
/* #line 4226 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
			tree res = generic_simplify_206 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1140;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1140;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1140;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1140:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1141;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1141;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1141;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1141;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1141:;
	    }
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_BSWAP16:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP16:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP32:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP32:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP64:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP64:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP128:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP128:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1142;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1142;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1142;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1142;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1142:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case ORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNLT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNLE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNGE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_truep (_p1))
	  {
	    {
/* #line 5141 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5154 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_453 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_454 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5218 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		  tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
		  if (res) return res;
		}
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, EQ_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5278 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5278 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, EQ_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, MINUS_EXPR, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5391 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5576 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 5644 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if (zerop (_p1))
	  {
	    {
/* #line 5784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	      tree res = generic_simplify_104 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, EQ_EXPR);
	  if (res) return res;
	}
	switch (TREE_CODE (_q20))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5916 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    {
	      {
/* #line 5883 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5916 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5923 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_XOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    CASE_CONVERT:
			      {
				tree _q70 = TREE_OPERAND (_p1, 0);
				if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
				  {
				    {
/* #line 5937 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
				      tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, EQ_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_q50))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			    {
			      switch (TREE_CODE (_q51))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 5937 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
				      tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, EQ_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_IOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5954 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, EQ_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5959 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		  tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, EQ_EXPR);
		  if (res) return res;
		}
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5954 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (_p1))
	{
	  {
/* #line 5959 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	    tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, EQ_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, EQ_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (integer_pow2p (_q21))
	  {
	    if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	      {
		{
/* #line 5997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		  tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
		  if (res) return res;
		}
	      }
	  }
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if (integer_pow2p (_q21))
		{
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 6069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
			tree res = generic_simplify_356 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 6069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
		  tree res = generic_simplify_70 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case GE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5976 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5986 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			tree res = generic_simplify_353 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case LT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5976 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5986 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  {
/* #line 6134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, EQ_EXPR);
    if (res) return res;
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 6147 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_6 (loc, type, _p0, _p1, captures, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (integer_onep (_p1))
    {
      {
/* #line 6284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
 && types_match (type, TREE_TYPE (captures[0]))
)
	  {
	    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1143;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1143;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6286, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree _r;
	      _r = non_lvalue_loc (loc, res_op0);
	      return _r;
	    }
next_after_fail1143:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case VECTOR_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    const enum tree_code cmp = EQ_EXPR;
		    const enum tree_code icmp = LE_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1144;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1144;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1144:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1145;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1145;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1145:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    const enum tree_code cmp = EQ_EXPR;
		    const enum tree_code icmp = LE_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1146;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1146;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1146:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1147;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1147;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1147:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case VECTOR_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
		    const enum tree_code cmp = EQ_EXPR;
		    const enum tree_code icmp = LE_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1148;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1148;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1148:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1149;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1149;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1149:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
		    const enum tree_code cmp = EQ_EXPR;
		    const enum tree_code icmp = LE_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1150;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1150;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1150:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1151;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1151;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1151:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case MULT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q31, 0);
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (_p1))
				  {
				    {
/* #line 6390 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
				      tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, EQ_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CLZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CLZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CLZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CLZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CLZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_CLZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_FFS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFS);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_NE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 255 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case CEIL_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, NE_EXPR, CEIL_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case FLOOR_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, NE_EXPR, FLOOR_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case ROUND_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, NE_EXPR, ROUND_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case TRUNC_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 747 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_13 (loc, type, _p0, _p1, captures, NE_EXPR, TRUNC_MOD_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_zero_one_valued_p (_q20))
	  {
	    switch (TREE_CODE (_q21))
	      {
	      case INTEGER_CST:
	        {
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 2039 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 2039 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (tree_fits_shwi_p (captures[1])
 && tree_to_shwi (captures[1]) > 0
 && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1152;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2042, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree _r;
			      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			      if (TREE_SIDE_EFFECTS (captures[1]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1152:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2150 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_58 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case MULT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2160 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_346 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case EXACT_DIV_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
				  {
				    {
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, NE_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q41))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_q41, 0);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
      {
	tree _p1_pops[1];
	if (tree_nop_convert (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    switch (TREE_CODE (_q40))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  tree _q51 = TREE_OPERAND (_q40, 1);
		  switch (TREE_CODE (_q51))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q50))
		    {
		    CASE_CONVERT:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
		  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1153;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1153:;
		      }
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1154;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1154:;
		      }
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1155;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1155:;
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2294 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1156;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2297, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1156:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
			  tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2310 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2310 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1157;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2313, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  res_op1 = captures[2];
			  tree _r;
			  _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1157:;
		      }
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2337 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2337 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1158;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2340, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[2];
			  tree res_op1;
			  res_op1 = captures[1];
			  tree _r;
			  _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
			  if (TREE_SIDE_EFFECTS (captures[0]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			  return _r;
			}
next_after_fail1158:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (tree_truth_valued_p (_p1))
	    {
	      {
/* #line 1931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	    }
        }
}
}
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q31))
	      {
	      CASE_CONVERT:
	        {
		  tree _q50 = TREE_OPERAND (_q31, 0);
		  switch (TREE_CODE (_p1))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q30))
	      {
	      CASE_CONVERT:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  switch (TREE_CODE (_p1))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			      tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q31))
	      {
	      CASE_CONVERT:
	        {
		  tree _q50 = TREE_OPERAND (_q31, 0);
		  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_p1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
		  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
		  if (res) return res;
		}
	      }
	    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
		  if (res) return res;
		}
	      }
	    break;
	  }
	case POINTER_PLUS_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q30))
	      {
	      CASE_CONVERT:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  switch (TREE_CODE (_p1))
		    {
		    CASE_CONVERT:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			  {
			    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			      tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		    {
		      {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
			tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_p1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		    {
		      {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
	      {
		{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
		  tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
		  if (res) return res;
		}
	      }
	    break;
	  }
        default:;
        }
}
}
if (tree_truth_valued_p (_p0))
  {
    {
      tree _p1_pops[1];
      if (tree_logical_inverted_value (_p1, _p1_pops))
        {
	  tree _q30 = _p1_pops[0];
	  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	    {
	      {
/* #line 1931 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		tree res = generic_simplify_183 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	    }
}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q31))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q30))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
		    tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
	      tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_nop_convert (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case PLUS_EXPR:
	  {
	    tree _q40 = TREE_OPERAND (_q30, 0);
	    tree _q41 = TREE_OPERAND (_q30, 1);
	    switch (TREE_CODE (_q41))
	      {
	      CASE_CONVERT:
	        {
		  tree _q60 = TREE_OPERAND (_q41, 0);
		  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_q40))
	      {
	      CASE_CONVERT:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		    {
		      {
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
		  if (res) return res;
		}
	      }
	    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
	      {
		{
/* #line 2366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
		  tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
		  if (res) return res;
		}
	      }
	    break;
	  }
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
			  tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
      {
	tree _p1_pops[1];
	if (tree_nop_convert (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    switch (TREE_CODE (_q40))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_q40, 0);
		  tree _q51 = TREE_OPERAND (_q40, 1);
		  switch (TREE_CODE (_q50))
		    {
		    CASE_CONVERT:
		      {
			tree _q60 = TREE_OPERAND (_q50, 0);
			if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			  {
			    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			      tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		    {
		      {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
			tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    default:;
    }
  {
    tree _p1_pops[1];
    if (tree_nop_convert (_p1, _p1_pops))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			  tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
		    tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
}
  }
  switch (TREE_CODE (_p0))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
			  tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
	      tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case ADDR_EXPR:
	    {
	      {
/* #line 2384 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
		tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case POINTER_PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 2389 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
			    tree res = generic_simplify_59 (loc, type, _p0, _p1, captures, NE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case POINTER_PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
		    tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
	      tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      tree _q31 = TREE_OPERAND (_p1, 1);
	      {
/* #line 2384 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 2412 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_193 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_q51))
			    {
			    CASE_CONVERT:
			      {
				tree _q70 = TREE_OPERAND (_q51, 0);
				if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
				  {
				    {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				      tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q31))
		      {
		      CASE_CONVERT:
		        {
			  tree _q50 = TREE_OPERAND (_q31, 0);
			  switch (TREE_CODE (_p1))
			    {
			    CASE_CONVERT:
			      {
				tree _q70 = TREE_OPERAND (_p1, 0);
				if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
				  {
				    {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				      tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q40))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q41))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q41, 0);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q21, 0);
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		{
		  {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
		    tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q41))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q41, 0);
			  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
			    {
			      {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_q31))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q31, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			{
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			  tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		{
		  {
/* #line 2422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3568 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_69 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3577 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_with_possible_nonzero_bits2 (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (tree_with_certain_nonzero_bits2 (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2449 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
}
      }
}
}
{
  tree _p0_pops[1];
  if (tree_with_certain_nonzero_bits2 (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (tree_with_possible_nonzero_bits2 (_p1, _p1_pops))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2449 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
}
      }
}
}
  switch (TREE_CODE (_p1))
    {
    case MIN_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MAX_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3561 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_pow2p (_q30))
		{
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 3777 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_127 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
			    if (res) return res;
			  }
		        }
		    }
	        }
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 3811 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_191 (loc, type, _p0, _p1, captures, NE_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      if (integer_onep (_q30))
		{
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 3947 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
			    tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
			    if (res) return res;
			  }
		        }
		    }
	        }
	      break;
	    }
	  case RSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_pow2p (_q30))
		{
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 3784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
			    tree res = generic_simplify_328 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
			    if (res) return res;
			  }
		        }
		    }
	        }
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 3823 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
				  tree res = generic_simplify_72 (loc, type, _p0, _p1, captures, NE_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      {
	tree _q20_pops[1];
	if (tree_nop_convert (_q20, _q20_pops))
	  {
	    tree _q30 = _q20_pops[0];
	    switch (TREE_CODE (_q30))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (_q30, 0);
		  tree _q41 = TREE_OPERAND (_q30, 1);
		  if (integer_onep (_q40))
		    {
		      if (integer_pow2p (_q21))
			{
			  if (integer_zerop (_p1))
			    {
			      {
/* #line 3947 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
				tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
}
      }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3797 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LROTATE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 3993 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_155 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case RROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case RROTATE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 3993 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_155 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1159;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1159;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1159;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1159:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1160;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1160;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1160;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1160;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1160:;
	    }
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_BSWAP16:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP16:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP32:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP32:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP64:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP64:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP128:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4363 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_BSWAP128:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 4359 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_365 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1161;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1161;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1161;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1161;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1161:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case ORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNLT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNLE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNGE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5137 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	      if (res) return res;
	    }
	  }
	if (integer_truep (_p1))
	  {
	    {
/* #line 5145 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5171 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_454 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5218 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		  tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
		  if (res) return res;
		}
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_44 (loc, type, _p0, _p1, captures, NE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5278 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5278 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, NE_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, MINUS_EXPR, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5391 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5576 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 5644 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		tree res = generic_simplify_188 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if (zerop (_p1))
	  {
	    {
/* #line 5784 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	      tree res = generic_simplify_104 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, NE_EXPR);
	  if (res) return res;
	}
	switch (TREE_CODE (_q20))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5916 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, NE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    {
	      {
/* #line 5883 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5916 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5923 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_XOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 5929 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 5934 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    CASE_CONVERT:
			      {
				tree _q70 = TREE_OPERAND (_p1, 0);
				if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
				  {
				    {
/* #line 5937 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
				      tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, NE_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    switch (TREE_CODE (_q50))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			    {
			      switch (TREE_CODE (_q51))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 5937 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
				      tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, NE_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_IOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 5949 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_157 (loc, type, _p0, _p1, captures, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5954 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
			    tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, NE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    if (integer_zerop (_p1))
	      {
		{
/* #line 5959 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		  tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, NE_EXPR);
		  if (res) return res;
		}
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5954 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (_p1))
	{
	  {
/* #line 5959 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	    tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, NE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 5965 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, NE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	if (integer_pow2p (_q21))
	  {
	    if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	      {
		{
/* #line 5997 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		  tree res = generic_simplify_182 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
		  if (res) return res;
		}
	      }
	  }
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if (integer_pow2p (_q21))
		{
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 6069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
			tree res = generic_simplify_356 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	if (integer_pow2p (_q21))
	  {
	    if (integer_zerop (_p1))
	      {
		{
/* #line 6069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
		  tree res = generic_simplify_70 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case GE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5976 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5986 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
			tree res = generic_simplify_353 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case LT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5976 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 5986 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_92 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  {
/* #line 6134 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, NE_EXPR);
    if (res) return res;
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 6147 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_6 (loc, type, _p0, _p1, captures, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6278 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6278 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
 && types_match (type, TREE_TYPE (captures[0]))
)
	  {
	    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1162;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1162;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6280, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree _r;
	      _r = non_lvalue_loc (loc, res_op0);
	      return _r;
	    }
next_after_fail1162:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case VECTOR_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    const enum tree_code cmp = NE_EXPR;
		    const enum tree_code icmp = GT_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1163;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1163;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1163:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1164;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1164;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1164:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    const enum tree_code cmp = NE_EXPR;
		    const enum tree_code icmp = GT_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1165;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1165;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1165:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1166;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1166;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1166:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case VECTOR_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
		    const enum tree_code cmp = NE_EXPR;
		    const enum tree_code icmp = GT_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1167;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1167;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1167:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1168;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1168;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1168:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
		    const enum tree_code cmp = NE_EXPR;
		    const enum tree_code icmp = GT_EXPR;
		    {
/* #line 6302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
			  {
			    {
/* #line 6304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
 ? optab_vector : optab_default;
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
/* #line 6307 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (target_supports_op_p (utype, icmp, optab)
 || (optimize_vectors_before_lowering_p ()
 && (!target_supports_op_p (type, cmp, optab)
 || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
)
				  {
/* #line 6311 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1169;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1169;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __FILE__, __LINE__);
					{
					  tree res_op0;
					  res_op0 = captures[1];
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1169:;
				      }
				    else
				      {
					if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1170;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1170;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6313, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[1];
					    _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
					    res_op0 = _r1;
					  }
					  tree res_op1;
					  res_op1 =  csts;
					  tree _r;
					  _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
					  if (TREE_SIDE_EFFECTS (captures[2]))
					    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
					  return _r;
					}
next_after_fail1170:;
				      }
				  }
			    }
			  }
		    }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case MULT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_q31, 0);
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (_p1))
				  {
				    {
/* #line 6390 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
				      tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, NE_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7355 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CLZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CLZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CLZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CLZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CLZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7623 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_CLZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_FFS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFS);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7869 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_TRUNC_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_433 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case LSHIFT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if (integer_onep (_q50))
		      {
			{
/* #line 382 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
			  tree res = generic_simplify_195 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case LSHIFT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if (integer_onep (_q40))
		{
		  {
/* #line 382 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
		    tree res = generic_simplify_195 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if (integer_onep (_q40))
		{
		  {
/* #line 382 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
		    tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if (integer_onep (_q30))
	  {
	    {
/* #line 382 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
	      tree res = generic_simplify_64 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_430 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
      if (res) return res;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case ABS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 485 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_pow2p (_q21))
	  {
	    if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	      {
		{
/* #line 830 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 830 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
		    {
		      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1171;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1171;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 831, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[0];
			tree res_op1;
			res_op1 =  wide_int_to_tree
 (type, wi::mask (TYPE_PRECISION (type)
 - wi::exact_log2 (wi::to_wide (captures[1])),
 false, TYPE_PRECISION (type)));
			tree _r;
			_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			return _r;
		      }
next_after_fail1171:;
		    }
		}
	      }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1172;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1172;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1172;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1172:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1173;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1173;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1173;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1173;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1173:;
	    }
	}
        break;
      }
    default:;
    }
if (integer_onep (_p0))
  {
    {
/* #line 469 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 469 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && TYPE_PRECISION (type) > 1
 && !integer_zerop (captures[1])
 && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
)
	{
/* #line 473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_UNSIGNED (type)
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1174;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 474, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[1];
		  _o1[1] =  build_one_cst (type);
		  _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree _r;
		_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		return _r;
	      }
next_after_fail1174:;
	    }
	  else
	    {
	      {
/* #line 475 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1175;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 476, __FILE__, __LINE__);
		  {
		    if (! tree_invariant_p (captures[1])) goto next_after_fail1175;
		    tree res_op0;
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = unshare_expr (captures[1]);
			  if (TREE_TYPE (_o3[0]) != utype)
			    {
			      _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
			    }
			  else
			    _r3 = _o3[0];
			  _o2[0] = _r3;
			}
			_o2[1] =  build_one_cst (utype);
			_r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			_o1[0] = _r2;
		      }
		      _o1[1] =  build_int_cst (utype, 2);
		      _r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
		      res_op0 = _r1;
		    }
		    tree res_op1;
		    res_op1 = captures[1];
		    tree res_op2;
		    res_op2 =  build_zero_cst (type);
		    tree _r;
		    _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    return _r;
		  }
next_after_fail1175:;
	      }
	    }
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1176;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1176;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1176;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1176;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1176:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_CEIL_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_433 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_430 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
      if (res) return res;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case ABS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (CEIL_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1177;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1177;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1177;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1177:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (CEIL_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1178;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1178;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1178;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1178;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1178:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (CEIL_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1179;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1179;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1179;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1179;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1179:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_FLOOR_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_433 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_430 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
      if (res) return res;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case ABS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  {
/* #line 458 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, TRUNC_DIV_EXPR);
    if (res) return res;
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1180;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1180;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1180;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1180:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1181;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1181;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1181;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1181;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1181:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1182;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1182;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1182;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1182;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1182:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_ROUND_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_433 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_430 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
      if (res) return res;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case ABS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1183;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1183;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1183;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1183:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1184;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1184;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1184;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1184;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1184:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1185;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1185;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1185;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1185;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1185:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_EXACT_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_433 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_430 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
      if (res) return res;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case ABS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 436 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 445 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 485 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 680 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 846 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, EXACT_DIV_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_FLOOR_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  {
/* #line 458 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR, TRUNC_MOD_EXPR);
    if (res) return res;
  }
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_54 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	if (res) return res;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case FLOOR_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 733 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 737 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
	  tree _q30_pops[1];
	  if (tree_power_of_two_cand (_q30, _q30_pops))
	    {
	      tree _q40 = _q30_pops[0];
	      {
/* #line 810 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
		tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_power_of_two_cand (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      {
/* #line 810 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
	if (res) return res;
      }
}
}
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1186;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1186;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1186;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1186:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1187;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1187;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1187;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1187;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1187:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1188;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1188;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1188;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1188;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1188:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_RDIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 597 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 597 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1189;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 600, __FILE__, __LINE__);
	    {
	      tree _r;
	      _r =  build_one_cst (type);
	      if (TREE_SIDE_EFFECTS (captures[0]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	      return _r;
	    }
next_after_fail1189:;
	  }
      }
    }
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 606 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_97 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 606 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_97 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case ABS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 614 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_260 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case ABS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
		      {
			{
/* #line 614 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_260 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case ABS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 614 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_260 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ABS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 614 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_260 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  if (real_onep (_p1))
    {
      {
/* #line 628 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 628 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
	  {
	    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1190;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1190;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 629, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree _r;
	      _r = non_lvalue_loc (loc, res_op0);
	      return _r;
	    }
next_after_fail1190:;
	  }
      }
    }
  if (real_minus_onep (_p1))
    {
      {
/* #line 634 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 634 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
	  {
	    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1191;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1191;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 635, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree _r;
	      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
	      return _r;
	    }
next_after_fail1191:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	{
/* #line 637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (flag_reciprocal_math
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1192;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 641, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op1 = _r1;
		}
		tree _r;
		_r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail1192:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MULT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q31))
	  {
	  case REAL_CST:
	    {
	      {
/* #line 637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_reciprocal_math
)
		  {
		    {
/* #line 646 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
/* #line 648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (tem
)
			  {
			    if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1193;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1193;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 649, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[0];
				_o1[1] =  tem;
				_r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				res_op0 = _r1;
			      }
			      tree res_op1;
			      res_op1 = captures[2];
			      tree _r;
			      _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
			      return _r;
			    }
next_after_fail1193:;
			  }
		    }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case RDIV_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
/* #line 637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (flag_reciprocal_math
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1194;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 654, __FILE__, __LINE__);
	      {
		tree res_op0;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[2];
		  _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  res_op0 = _r1;
		}
		tree res_op1;
		res_op1 = captures[3];
		tree _r;
		_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail1194:;
	    }
	}
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
/* #line 659 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1195;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 659, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      res_op0 = _r1;
	    }
	    tree res_op1;
	    res_op1 = captures[1];
	    tree _r;
	    _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail1195:;
	}
        break;
      }
    case REAL_CST:
      {
	{
/* #line 696 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (tem
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1196;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1196;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 702, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 =  tem;
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1196:;
			}
		  }
		}
	      else
		{
/* #line 703 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (REAL_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1197;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1197;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 706, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  inverse;
				tree _r;
				_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail1197:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case COMPLEX_CST:
      {
	{
/* #line 696 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (tem
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1198;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1198;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 702, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 =  tem;
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1198:;
			}
		  }
		}
	      else
		{
/* #line 703 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (COMPLEX_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1199;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1199;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 706, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  inverse;
				tree _r;
				_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail1199:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 696 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (tem
)
			{
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1200;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1200;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 702, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 =  tem;
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1200:;
			}
		  }
		}
	      else
		{
/* #line 703 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (VECTOR_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1201;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1201;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 706, __FILE__, __LINE__);
			      {
				tree res_op0;
				res_op0 = captures[0];
				tree res_op1;
				res_op1 =  inverse;
				tree _r;
				_r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
				return _r;
			      }
next_after_fail1201:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1202;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1202;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1202;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1202:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1203;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1203;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1203;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1203;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1203:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1204;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1204;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1204;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1204;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1204:;
	    }
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p1))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RDIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1205;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6519, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[4];
				_o2[1] = captures[3];
				_r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
			      if (!_r1)
			        goto next_after_fail1205;
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1205:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RDIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1206;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6519, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[4];
				_o2[1] = captures[3];
				_r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
			      if (!_r1)
			        goto next_after_fail1206;
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1206:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RDIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1207;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6519, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[4];
				_o2[1] = captures[3];
				_r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
			      if (!_r1)
			        goto next_after_fail1207;
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1207:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RDIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1208;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6519, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[4];
				_o2[1] = captures[3];
				_r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _r1 = maybe_build_call_expr_loc (loc, CFN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
			      if (!_r1)
			        goto next_after_fail1208;
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1208:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CBRTF:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RDIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1209;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6519, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[4];
				_o2[1] = captures[3];
				_r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
			      if (!_r1)
			        goto next_after_fail1209;
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1209:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CBRT:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RDIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1210;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6519, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[4];
				_o2[1] = captures[3];
				_r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
			      if (!_r1)
			        goto next_after_fail1210;
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1210:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CBRTL:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RDIV_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1211;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6519, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				_o2[0] = captures[4];
				_o2[1] = captures[3];
				_r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				_o1[0] = _r2;
			      }
			      _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
			      if (!_r1)
			        goto next_after_fail1211;
			      res_op1 = _r1;
			    }
			    tree _r;
			    _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1211:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_EXPF:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1212;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1212;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1212:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXP:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1213;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1213;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1213:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXPL:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1214;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1214;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1214:;
		  }
	      }
	    }
  break;
	case CFN_EXP:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1215;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1215;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1215:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXP2F:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1216;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1216;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1216:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXP2:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1217;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1217;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1217:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXP2L:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1218;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1218;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1218:;
		  }
	      }
	    }
  break;
	case CFN_EXP2:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1219;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1219;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1219:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXP10F:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1220;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1220;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1220:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXP10:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1221;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1221;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1221:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_EXP10L:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1222;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1222;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1222:;
		  }
	      }
	    }
  break;
	case CFN_EXP10:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1223;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1223;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1223:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_POW10F:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1224;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1224;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1224:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_POW10:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1225;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1225;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1225:;
		  }
	      }
	    }
  break;
	case CFN_BUILT_IN_POW10L:
	  if (call_expr_nargs (_p1) == 1)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (flag_unsafe_math_optimizations
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1226;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6525, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      res_op0 = captures[0];
		      tree res_op1;
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
			  _o1[0] = _r2;
			}
			_r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
			if (!_r1)
			  goto next_after_fail1226;
			res_op1 = _r1;
		      }
		      tree _r;
		      _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
		      return _r;
		    }
next_after_fail1226:;
		  }
	      }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SINF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COSF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    case CFN_BUILT_IN_TANF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SIN:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COS:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    case CFN_BUILT_IN_TAN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SINL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COSL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    case CFN_BUILT_IN_TANL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SIN:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_COS:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_COS, CFN_TAN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    case CFN_TAN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_TAN, CFN_COS);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SINHF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COSHF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_TANHF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SINH:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COSH:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH, CFN_BUILT_IN_TANH);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SINHL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_COSHL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_TANHL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SINH:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_COSH:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_470 (loc, type, _p0, _p1, captures, CFN_SINH, CFN_COSH, CFN_TANH);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TANHF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SINHF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHF, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TANH:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SINH:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANH, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TANHL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SINHL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHL, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_TANH:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SINH:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_28 (loc, type, _p0, _p1, captures, CFN_TANH, CFN_SINH, CFN_COSH);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_COSF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SINF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_COS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SIN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_COSL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SINL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_COS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SIN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, CFN_COS, CFN_SIN, CFN_TAN);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TANF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SINF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_19 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TAN:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SIN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_19 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_TANL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SINL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_19 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_TAN:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SIN:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
			    {
			      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				tree res = generic_simplify_19 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_SIN, CFN_COS);
				if (res) return res;
			      }
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWF:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POW:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POWL:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_POW:
	  if (call_expr_nargs (_p0) == 2)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      tree _q21 = CALL_EXPR_ARG (_p0, 1);
	      switch (TREE_CODE (_q21))
	        {
		case REAL_CST:
		  {
		    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		      {
			{
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, CFN_POW);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case CALL_EXPR:
      switch (get_call_combined_fn (_p1))
        {
	case CFN_BUILT_IN_POWF:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
		if (res) return res;
	      }
	    }
  break;
	case CFN_BUILT_IN_POW:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
		if (res) return res;
	      }
	    }
  break;
	case CFN_BUILT_IN_POWL:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
		if (res) return res;
	      }
	    }
  break;
	case CFN_POW:
	  if (call_expr_nargs (_p1) == 2)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      {
/* #line 6799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, CFN_POW);
		if (res) return res;
	      }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_LT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      if (real_zerop (_p1))
		{
		  {
/* #line 661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case EXACT_DIV_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
				  {
				    {
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, LT_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, LT_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, LT_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2330 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, BIT_IOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MAX_EXPR, LT_EXPR, BIT_AND_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MIN_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1227;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1227;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1227;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1227:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1228;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1228;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1228;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1228;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1228:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1229;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1229;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1229;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1229;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1229:;
	    }
	}
        break;
      }
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5094 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_434 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 5201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_44 (loc, type, _p0, _p1, captures, LT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, LT_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, MINUS_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5391 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5576 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5660 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, LT_EXPR);
	  if (res) return res;
	}
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			switch (TREE_CODE (_q41))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 6342 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
	      tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_minus_onep (_q21))
		{
		  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, LT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REALPART_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q30))
	      {
	      case CFN_SUB_OVERFLOW:
	        if (call_expr_nargs (_q30) == 2)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 6361 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REALPART_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_ADD_OVERFLOW:
	        if (call_expr_nargs (_q20) == 2)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    tree _q31 = CALL_EXPR_ARG (_q20, 1);
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
			  tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_all_onesp (_q20))
	  {
	    {
/* #line 6379 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
	      tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_LE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      if (real_zerop (_p1))
		{
		  {
/* #line 661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case TRUNC_MOD_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 1297 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_minus_onep (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 2186 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_187 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, LE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case EXACT_DIV_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
				  {
				    {
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, LE_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, LE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2330 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MIN_EXPR, LE_EXPR, BIT_IOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, BIT_AND_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MAX_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (LE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1230;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1230;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1230;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1230:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1231;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1231;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1231;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1231;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1231:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1232;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1232;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1232;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1232;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1232:;
	    }
	}
        break;
      }
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5084 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 5201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, LE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, LE_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, MINUS_EXPR, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5391 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5576 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5660 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, LE_EXPR);
	  if (res) return res;
	}
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5748 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_SQRT, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_SQRT, LE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, LE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			switch (TREE_CODE (_q41))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 6342 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (integer_minus_onep (_q31))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_98 (loc, type, _p0, _p1, captures, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REALPART_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_SUB_OVERFLOW:
	        if (call_expr_nargs (_q20) == 2)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    tree _q31 = CALL_EXPR_ARG (_q20, 1);
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			{
/* #line 6361 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REALPART_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q30))
	      {
	      case CFN_ADD_OVERFLOW:
	        if (call_expr_nargs (_q30) == 2)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
			  tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if (integer_all_onesp (_q30))
	  {
	    {
/* #line 6379 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, CFN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, CFN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_FFS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFS);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_GT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      if (real_zerop (_p1))
		{
		  {
/* #line 661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case TRUNC_MOD_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 1297 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_minus_onep (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 2186 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_187 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, GT_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case EXACT_DIV_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
				  {
				    {
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, GT_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, GT_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2330 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, GT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, LT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, BIT_IOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MIN_EXPR, GT_EXPR, BIT_AND_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MAX_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1233;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1233;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1233;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1233:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1234;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1234;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1234;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1234;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1234:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1235;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1235;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1235;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1235;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1235:;
	    }
	}
        break;
      }
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5084 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 5201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_44 (loc, type, _p0, _p1, captures, GT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, GT_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, MINUS_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5391 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5576 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5660 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, GT_EXPR);
	  if (res) return res;
	}
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5748 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, GT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			switch (TREE_CODE (_q41))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 6342 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, GT_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  if (integer_minus_onep (_q31))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			tree res = generic_simplify_98 (loc, type, _p0, _p1, captures, LT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REALPART_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_SUB_OVERFLOW:
	        if (call_expr_nargs (_q20) == 2)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    tree _q31 = CALL_EXPR_ARG (_q20, 1);
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			{
/* #line 6361 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REALPART_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q30))
	      {
	      case CFN_ADD_OVERFLOW:
	        if (call_expr_nargs (_q30) == 2)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
			  tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if (integer_all_onesp (_q30))
	  {
	    {
/* #line 6379 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_zerop (_p1))
		{
		  {
/* #line 7731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_POPCOUNT);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_FFS:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFS);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_FFSIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7890 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_GE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case RDIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      if (real_zerop (_p1))
		{
		  {
/* #line 661 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MULT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2173 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  switch (TREE_CODE (_q60))
			    {
			    case EXACT_DIV_EXPR:
			      {
				tree _q70 = TREE_OPERAND (_q60, 0);
				tree _q71 = TREE_OPERAND (_q60, 1);
				if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
				  {
				    {
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
				      tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, GE_EXPR);
				      if (res) return res;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EXACT_DIV_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2198 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
			  tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, GE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 2222 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2274 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
		    tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		      {
			{
/* #line 2284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			  tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, GE_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2303 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
		    tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2330 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
		    tree res = generic_simplify_199 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case POINTER_DIFF_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case POINTER_DIFF_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 2318 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
		    tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 2345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
		    tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, GE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2357 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_53 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 2398 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
	      tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3589 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MIN_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3599 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1236;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1236;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1236;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1236:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1237;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1237;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1237;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1237;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1237:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1238;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1238;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1238;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1238;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1238:;
	    }
	}
        break;
      }
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5094 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_434 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if (integer_zerop (_p1))
		{
		  {
/* #line 5201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, GE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5284 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5292 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	    tree res = generic_simplify_86 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5302 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, GE_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5375 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, MINUS_EXPR, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5391 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
	  case REAL_CST:
	    {
	      {
/* #line 5576 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case EXACT_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 5660 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case EXACT_DIV_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 5683 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
			    tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 5791 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, GE_EXPR);
	  if (res) return res;
	}
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
			    tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if (uniform_integer_cst_p (_p1))
	  {
	    {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
	      tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, GE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
		      tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 6102 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_SQRTF:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTF:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_SQRTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_BUILT_IN_SQRTL:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	case CFN_SQRT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case CALL_EXPR:
		  switch (get_call_combined_fn (_p1))
		    {
		    case CFN_SQRT:
		      if (call_expr_nargs (_p1) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_p1, 0);
			  {
/* #line 5399 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			    tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
			    if (res) return res;
			  }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6167 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, GE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      switch (TREE_CODE (_q40))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		      {
			switch (TREE_CODE (_q41))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
				tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 6323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
		    tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
		    if (res) return res;
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 6342 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
	      tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, LE_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_minus_onep (_q21))
		{
		  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REALPART_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q30))
	      {
	      case CFN_SUB_OVERFLOW:
	        if (call_expr_nargs (_q30) == 2)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 6361 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
			  tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REALPART_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_ADD_OVERFLOW:
	        if (call_expr_nargs (_q20) == 2)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    tree _q31 = CALL_EXPR_ARG (_q20, 1);
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
			  tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		      {
			{
/* #line 6369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
			  tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case TRUNC_DIV_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_all_onesp (_q20))
	  {
	    {
/* #line 6379 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
	      tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case REAL_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case REAL_CST:
		  {
		    {
/* #line 6473 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_CTZIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_CTZ:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 7658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_CTZ);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_CEIL_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_54 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
	if (res) return res;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case CEIL_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 733 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 737 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, CEIL_MOD_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (CEIL_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1239;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1239;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1239;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1239:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (CEIL_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1240;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1240;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1240;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1240;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1240:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (CEIL_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1241;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1241;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1241;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1241;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1241:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_ROUND_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_54 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
	if (res) return res;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case ROUND_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 733 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 737 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, ROUND_MOD_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (ROUND_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1242;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1242;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1242;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1242:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (ROUND_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1243;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1243;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1243;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1243;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1243:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (ROUND_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1244;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1244;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1244;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1244;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1244:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_TRUNC_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	if (res) return res;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_54 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	if (res) return res;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case TRUNC_MOD_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 733 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    case MULT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 737 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_197 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 754 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 754 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TYPE_SIGN (type) == SIGNED
 && !TREE_OVERFLOW (captures[1])
 && wi::neg_p (wi::to_wide (captures[1]))
 && !TYPE_OVERFLOW_TRAPS (type)
 && !sign_bit_p (captures[1], captures[1])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1245;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 760, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  res_op1 = _r1;
		}
		tree _r;
		_r = fold_build2_loc (loc, TRUNC_MOD_EXPR, type, res_op0, res_op1);
		return _r;
	      }
next_after_fail1245:;
	    }
	}
        break;
      }
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      {
/* #line 765 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
		tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      {
	tree _q30_pops[1];
	if (tree_power_of_two_cand (_q30, _q30_pops))
	  {
	    tree _q40 = _q30_pops[0];
	    {
/* #line 810 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
	      tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	      if (res) return res;
	    }
}
      }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	{
/* #line 765 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	  tree res = generic_simplify_89 (loc, type, _p0, _p1, captures);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (tree_power_of_two_cand (_p1, _p1_pops))
    {
      tree _q30 = _p1_pops[0];
      {
/* #line 810 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, TRUNC_MOD_EXPR);
	if (res) return res;
      }
}
}
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (TRUNC_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1246;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1246;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1246;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1246:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (TRUNC_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1247;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1247;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1247;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1247;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1247:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (TRUNC_MOD_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1248;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1248;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1248;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1248;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1248:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_LSHIFT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case TRUNC_MOD_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
	  tree _q31_pops[1];
	  if (tree_power_of_two_cand (_q31, _q31_pops))
	    {
	      tree _q50 = _q31_pops[0];
	      {
/* #line 805 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, LSHIFT_EXPR, TRUNC_MOD_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    case FLOOR_MOD_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
	  tree _q31_pops[1];
	  if (tree_power_of_two_cand (_q31, _q31_pops))
	    {
	      tree _q50 = _q31_pops[0];
	      {
/* #line 805 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, LSHIFT_EXPR, FLOOR_MOD_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 1004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_93 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case LT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_zerop (_q31))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 1050 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
/* #line 1050 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (TYPE_SIGN (TREE_TYPE (captures[0])) == SIGNED
 && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (TREE_TYPE (captures[0])) - 1)
)
			    {
			      {
/* #line 1052 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 wide_int wone = wi::one (TYPE_PRECISION (type));
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1249;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1249;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1053, __FILE__, __LINE__);
				  {
				    tree res_op0;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      if (TREE_TYPE (_o1[0]) != type)
					{
					  _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
					}
				      else
				        _r1 = _o1[0];
				      res_op0 = _r1;
				    }
				    tree res_op1;
				    res_op1 =  wide_int_to_tree (type,
 wi::lshift (wone, wi::to_wide (captures[2])));
				    tree _r;
				    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
				    if (TREE_SIDE_EFFECTS (captures[1]))
				      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				    return _r;
				  }
next_after_fail1249:;
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case RSHIFT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    switch (TREE_CODE (_q41))
		      {
		      case INTEGER_CST:
		        {
			  if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
			    {
			      {
/* #line 3675 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
/* #line 3675 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (wi::ltu_p (wi::to_wide (captures[2]), element_precision (type))
 && INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[1]))
 && (TYPE_PRECISION (TREE_TYPE (captures[0])) >= TYPE_PRECISION (type)
 || wi::geu_p (wi::to_wide (captures[2]),
 TYPE_PRECISION (type)
 - TYPE_PRECISION (TREE_TYPE (captures[0]))))
)
				  {
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1250;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3687, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[1];
					if (TREE_TYPE (_o1[0]) != type)
					  {
					    _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
					  }
					else
					  _r1 = _o1[0];
					res_op0 = _r1;
				      }
				      tree res_op1;
				      {
					tree _o1[2], _r1;
					_o1[0] =  build_minus_one_cst (type);
					_o1[1] = captures[2];
					_r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					res_op1 = _r1;
				      }
				      tree _r;
				      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
				      return _r;
				    }
next_after_fail1250:;
				  }
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		{
		  {
/* #line 3669 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    tree res = generic_simplify_222 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_nop_convert (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case RSHIFT_EXPR:
	  {
	    tree _q30 = TREE_OPERAND (_q20, 0);
	    tree _q31 = TREE_OPERAND (_q20, 1);
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		    {
		      {
/* #line 3669 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			tree res = generic_simplify_222 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    break;
	  }
        default:;
        }
}
}
if (integer_onep (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      case MINUS_EXPR:
        {
	  tree _q30 = TREE_OPERAND (_p1, 0);
	  tree _q31 = TREE_OPERAND (_p1, 1);
	  switch (TREE_CODE (_q30))
	    {
	    case INTEGER_CST:
	      {
		{
/* #line 1038 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 1038 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (INTEGRAL_TYPE_P (type)
 && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (type) - 1)
 && single_use (captures[1])
)
		    {
/* #line 1041 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (TYPE_UNSIGNED (type)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1251;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1042, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      res_op0 = _r1;
			    }
			    tree res_op1;
			    res_op1 = captures[3];
			    tree _r;
			    _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1251:;
			}
		      else
			{
			  {
/* #line 1043 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1252;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1045, __FILE__, __LINE__);
			      {
				tree res_op0;
				{
				  tree _o1[2], _r1;
				  {
				    tree _o2[2], _r2;
				    {
				      tree _o3[1], _r3;
				      _o3[0] = captures[0];
				      if (TREE_TYPE (_o3[0]) != utype)
					{
					  _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
					}
				      else
				        _r3 = _o3[0];
				      _o2[0] = _r3;
				    }
				    _o2[1] = captures[2];
				    _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				    _o1[0] = _r2;
				  }
				  _o1[1] = captures[3];
				  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  res_op0 = _r1;
				}
				tree _r;
				_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
				return _r;
			      }
next_after_fail1252:;
			  }
			}
		    }
		}
	        break;
	      }
	    default:;
	    }
          break;
        }
      default:;
      }
  }
  if (integer_zerop (_p1))
    {
      {
/* #line 3705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3708 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3745 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_192 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_192 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, LSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_192 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (LSHIFT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1253;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1253;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1253;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1253:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LSHIFT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1254;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1254;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1254;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1254;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1254:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LSHIFT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1255;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1255;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1255;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1255;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1255:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1256;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail1256:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_RSHIFT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case TRUNC_MOD_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
	  tree _q31_pops[1];
	  if (tree_power_of_two_cand (_q31, _q31_pops))
	    {
	      tree _q50 = _q31_pops[0];
	      {
/* #line 805 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, RSHIFT_EXPR, TRUNC_MOD_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    case FLOOR_MOD_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	{
	  tree _q31_pops[1];
	  if (tree_power_of_two_cand (_q31, _q31_pops))
	    {
	      tree _q50 = _q31_pops[0];
	      {
/* #line 805 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
		tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, RSHIFT_EXPR, FLOOR_MOD_EXPR);
		if (res) return res;
	      }
}
	}
        break;
      }
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 1004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      tree res = generic_simplify_93 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
      if (res) return res;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 1061 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 1061 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
		  {
		    {
/* #line 1063 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = TREE_TYPE (captures[2]);
 tree bt = truth_type_for (type);
 tree zeros = build_zero_cst (type);
 tree INTEGER_CST = NULL_TREE;
/* #line 1069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (INTEGRAL_TYPE_P (type)
 && canonicalize_math_after_vectorization_p ()
 && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (type) - 1)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1257;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1077, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      {
				tree _o1[1], _r1;
				{
				  tree _o2[2], _r2;
				  _o2[0] = captures[1];
				  _o2[1] =  zeros;
				  _r2 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o2[0], _o2[1]);
				  _o1[0] = _r2;
				}
				if (TREE_TYPE (_o1[0]) != type)
				  {
				    _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				  }
				else
				  _r1 = _o1[0];
				res_op0 = _r1;
			      }
			      tree _r;
			      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1257:;
			  }
			else
			  {
/* #line 1079 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
 && TYPE_MODE (bt) == TYPE_MODE (type)
 && expand_vec_cmp_expr_p (type, bt, GT_EXPR)
 && (INTEGER_CST = uniform_integer_cst_p (captures[2])) != NULL
 && wi::eq_p (wi::to_wide (INTEGER_CST), element_precision (type) - 1)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1258;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1088, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] =  zeros;
				    _r1 = fold_build2_loc (loc, GT_EXPR, bt, _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
				  if (TREE_SIDE_EFFECTS (captures[2]))
				    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				  return _r;
				}
next_after_fail1258:;
			      }
			  }
		    }
		  }
	      }
	      break;
	    }
	  case VECTOR_CST:
	    {
	      {
/* #line 1061 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 1061 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
		  {
		    {
/* #line 1063 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree stype = TREE_TYPE (captures[2]);
 tree bt = truth_type_for (type);
 tree zeros = build_zero_cst (type);
 tree VECTOR_CST = NULL_TREE;
/* #line 1069 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (INTEGRAL_TYPE_P (type)
 && canonicalize_math_after_vectorization_p ()
 && wi::eq_p (wi::to_wide (captures[2]), TYPE_PRECISION (type) - 1)
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1259;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1077, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      {
				tree _o1[1], _r1;
				{
				  tree _o2[2], _r2;
				  _o2[0] = captures[1];
				  _o2[1] =  zeros;
				  _r2 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o2[0], _o2[1]);
				  _o1[0] = _r2;
				}
				if (TREE_TYPE (_o1[0]) != type)
				  {
				    _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
				  }
				else
				  _r1 = _o1[0];
				res_op0 = _r1;
			      }
			      tree _r;
			      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1259:;
			  }
			else
			  {
/* #line 1079 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
 && TYPE_MODE (bt) == TYPE_MODE (type)
 && expand_vec_cmp_expr_p (type, bt, GT_EXPR)
 && (VECTOR_CST = uniform_integer_cst_p (captures[2])) != NULL
 && wi::eq_p (wi::to_wide (VECTOR_CST), element_precision (type) - 1)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1260;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1088, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] =  zeros;
				    _r1 = fold_build2_loc (loc, GT_EXPR, bt, _o1[0], _o1[1]);
				    res_op0 = _r1;
				  }
				  tree _r;
				  _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
				  if (TREE_SIDE_EFFECTS (captures[2]))
				    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
				  return _r;
				}
next_after_fail1260:;
			      }
			  }
		    }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		{
		  {
/* #line 3693 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3693 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_UNSIGNED (type)
 && (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type)))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1261;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3695, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] =  build_minus_one_cst (type);
			    _o1[1] = captures[1];
			    _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    res_op1 = _r1;
			  }
			  tree _r;
			  _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			  return _r;
			}
next_after_fail1261:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
if (integer_all_onesp (_p0))
  {
    {
/* #line 3663 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3663 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
      if (!TYPE_UNSIGNED (type)
)
	{
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1262;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3664, __FILE__, __LINE__);
	  {
	    tree _r;
	    _r = captures[0];
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail1262:;
	}
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 3700 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1263;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3700, __FILE__, __LINE__);
	{
	  tree _r;
	  _r =  build_zero_cst (type);
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail1263:;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3708 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3745 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, RSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, RSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, RSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP32:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP64:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP128:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_192 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, RSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_192 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, RSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3957 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
		      tree res = generic_simplify_192 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, RSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (RSHIFT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1264;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1264;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1264;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1264:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (RSHIFT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1265;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1265;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1265;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1265;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1265:;
	    }
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_BSWAP16:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP32:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP64:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP128:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4395 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_17 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (RSHIFT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1266;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1266;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1266;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1266;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1266:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1267;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail1267:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_BIT_AND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1027 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case RSHIFT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			{
/* #line 1103 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
		      {
			{
/* #line 1103 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			  tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1103 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1103 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	switch (TREE_CODE (_q30))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if (integer_onep (_q40))
		{
		  if (integer_minus_onep (_q31))
		    {
		      {
/* #line 1108 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q41 };
/* #line 1108 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (TYPE_UNSIGNED (type)
)
			  {
			    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1268;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1268;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1109, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      {
				tree _o1[1], _r1;
				{
				  tree _o2[2], _r2;
				  _o2[0] =  build_all_ones_cst (type);
				  _o2[1] = captures[3];
				  _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				  _o1[0] = _r2;
				}
				_r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				res_op1 = _r1;
			      }
			      tree _r;
			      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			      return _r;
			    }
next_after_fail1268:;
			  }
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_onep (_q30))
		{
		  if (integer_minus_onep (_q21))
		    {
		      {
/* #line 1108 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q31 };
/* #line 1108 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (TYPE_UNSIGNED (type)
)
			  {
			    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1269;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1269;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1109, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      {
				tree _o1[1], _r1;
				{
				  tree _o2[2], _r2;
				  _o2[0] =  build_all_ones_cst (type);
				  _o2[1] = captures[3];
				  _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				  _o1[0] = _r2;
				}
				_r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				res_op1 = _r1;
			      }
			      tree _r;
			      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
			      return _r;
			    }
next_after_fail1269:;
			  }
		      }
		    }
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 1267 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, PLUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case EQ_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_zerop (_q51))
		    {
		      {
/* #line 1118 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_166 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
	if (integer_all_onesp (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case EQ_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if (integer_all_onesp (_q51))
		    {
		      {
/* #line 1127 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
			tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1179 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_383 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    {
/* #line 1179 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_383 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
			  {
			    {
/* #line 1179 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			      tree res = generic_simplify_383 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		      {
			if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
			  {
			    {
/* #line 1179 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			      tree res = generic_simplify_383 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case SSA_NAME:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 1230 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 1230 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && wi::bit_and_not (get_nonzero_bits (captures[0]), wi::to_wide (captures[1])) == 0
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1270;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1232, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 = captures[1];
			    tree _r;
			    _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
			    return _r;
			  }
next_after_fail1270:;
			}
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      switch (TREE_CODE (_q50))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q61 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q60 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q61 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q60 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_XOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q71 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q70 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_XOR_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			tree _q71 = TREE_OPERAND (_q51, 1);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q71 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q70 };
			      tree res = generic_simplify_396 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
		      {
			if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
		      {
			if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
		      {
			if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q70 = TREE_OPERAND (_p1, 0);
		    tree _q71 = TREE_OPERAND (_p1, 1);
		    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
		      {
			if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
			if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
		      {
			if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
		      {
			if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
			  {
			    {
/* #line 1210 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
			      tree res = generic_simplify_314 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
			    tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
			    tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 1267 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, MINUS_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1279 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1279 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1279 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
			    tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      if (tree_zero_one_valued_p (_q20))
	{
	  {
/* #line 2019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_417 (loc, type, _p0, _p1, captures);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 1313 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1271;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1313, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[1];
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail1271:;
      }
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1335 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1272;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1272;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1335, __FILE__, __LINE__);
	{
	  tree res_op0;
	  res_op0 = captures[0];
	  tree _r;
	  _r = non_lvalue_loc (loc, res_op0);
	  return _r;
	}
next_after_fail1272:;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 1341 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_458 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_NOT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
		{
		  {
/* #line 1417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
		    tree res = generic_simplify_18 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
		    tree res = generic_simplify_169 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
		    tree res = generic_simplify_169 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
			  {
			    {
/* #line 1507 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			      tree res = generic_simplify_50 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
		      tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		    tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 1450 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
		    tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_q50))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1507 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_50 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_XOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_q50))
	        {
		case BIT_NOT_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  switch (TREE_CODE (_q51))
		    {
		    case BIT_NOT_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_q51, 0);
			if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				{
				  {
/* #line 1517 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
				    tree res = generic_simplify_147 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
			    {
			      if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
				{
				  {
/* #line 1517 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
				    tree res = generic_simplify_147 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			switch (TREE_CODE (_q61))
			  {
			  case BIT_NOT_EXPR:
			    {
			      tree _q80 = TREE_OPERAND (_q61, 0);
			      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				{
				  {
/* #line 1517 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
				    tree res = generic_simplify_147 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
			    {
			      if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
				{
				  {
/* #line 1517 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
				    tree res = generic_simplify_147 (loc, type, _p0, _p1, captures);
				    if (res) return res;
				  }
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_XOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
		      {
			if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      switch (TREE_CODE (_p1))
	        {
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
			  {
			    {
/* #line 1512 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			      tree res = generic_simplify_55 (loc, type, _p0, _p1, captures);
			      if (res) return res;
			    }
			  }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q50))
		      {
		      case BIT_NOT_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_q50, 0);
			  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
			    tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    {
/* #line 1559 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
		      tree res = generic_simplify_126 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_XOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1600 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
	      tree res = generic_simplify_363 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_IOR_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
			    {
			      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
				tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
			  tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
			  tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q40))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
			  tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		      {
			{
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
			  tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      tree _q41 = TREE_OPERAND (_p1, 1);
	      if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_IOR_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
		{
		  {
/* #line 1612 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
		    tree res = generic_simplify_171 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      tree _q41 = TREE_OPERAND (_q30, 1);
	      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
		    tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
		{
		  {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
		    tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      switch (TREE_CODE (_q50))
	        {
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_q50, 0);
		    tree _q61 = TREE_OPERAND (_q50, 1);
		    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
			  tree res = generic_simplify_201 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
	      tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
	      tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
		    tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_AND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
	      tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
	  {
	    {
/* #line 1622 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
	      tree res = generic_simplify_457 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q60))
		      {
		      case BIT_AND_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_q60, 0);
			  tree _q71 = TREE_OPERAND (_q60, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
			  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
			    {
			      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
				tree res = generic_simplify_24 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case BIT_AND_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p1, 0);
		    tree _q61 = TREE_OPERAND (_p1, 1);
		    if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
		      {
			{
/* #line 1632 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
			  tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_135 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	{
/* #line 1802 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
	  tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
	  if (res) return res;
	}
        break;
      }
    case BIT_IOR_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_q21))
	{
	  if (CONSTANT_CLASS_P (_p1))
	    {
	      {
/* #line 1871 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1273;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1871, __FILE__, __LINE__);
		{
		  if (! tree_invariant_p (captures[2])) goto next_after_fail1273;
		  tree res_op0;
		  {
		    tree _o1[2], _r1;
		    _o1[0] = captures[0];
		    _o1[1] = unshare_expr (captures[2]);
		    _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    res_op0 = _r1;
		  }
		  tree res_op1;
		  {
		    tree _o1[2], _r1;
		    _o1[0] = captures[1];
		    _o1[1] = captures[2];
		    _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    if (EXPR_P (_r1))
		      goto next_after_fail1273;
		    res_op1 = _r1;
		  }
		  tree _r;
		  _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
		  return _r;
		}
next_after_fail1273:;
	      }
	    }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case BIT_IOR_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 1856 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
	      tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
	      if (res) return res;
	    }
	  }
	switch (TREE_CODE (_q30))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q31))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_q31, 0);
	      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
		{
		  {
/* #line 1861 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case BIT_AND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (CONSTANT_CLASS_P (_q21))
	  {
	    if (CONSTANT_CLASS_P (_p1))
	      {
		{
/* #line 1877 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		  tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
		  if (res) return res;
		}
	      }
	  }
        break;
      }
    default:;
    }
  {
    tree _p1_pops[1];
    if (tree_logical_inverted_value (_p1, _p1_pops))
      {
	tree _q30 = _p1_pops[0];
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 1921 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_339 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
}
  }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      if (tree_zero_one_valued_p (_q30))
		{
		  {
/* #line 2019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
		    tree res = generic_simplify_417 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  {
/* #line 1921 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	    tree res = generic_simplify_339 (loc, type, _p0, _p1, captures);
	    if (res) return res;
	  }
        }
}
}
  switch (TREE_CODE (_p1))
    {
    CASE_CONVERT:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      if (tree_zero_one_valued_p (_q40))
		{
		  {
/* #line 2019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
		    tree res = generic_simplify_417 (loc, type, _p0, _p1, captures);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if (tree_zero_one_valued_p (_q30))
	  {
	    {
/* #line 2019 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_417 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q30))
	        {
		case LT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case EQ_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNORDERED_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case ORDERED_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNLT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, UNLT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNLE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, UNLE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNGT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, UNGT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNGE_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, UNGE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNEQ_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case LTGT_EXPR:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    tree _q41 = TREE_OPERAND (_q30, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
		      tree res = generic_simplify_448 (loc, type, _p0, _p1, captures, LTGT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  CASE_CONVERT:
	    {
	      tree _q40 = TREE_OPERAND (_q30, 0);
	      switch (TREE_CODE (_q40))
	        {
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, LE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, GE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNORDERED_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case ORDERED_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNLT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, UNLT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNLE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, UNLE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNGT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, UNGT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNGE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, UNGE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case UNEQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
		case LTGT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_q40, 0);
		    tree _q51 = TREE_OPERAND (_q40, 1);
		    {
/* #line 2129 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
		      tree res = generic_simplify_27 (loc, type, _p0, _p1, captures, LTGT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 2597 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		tree res = generic_simplify_264 (loc, type, _p0, _p1, captures);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case LSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
				  tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
			    tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case RSHIFT_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q30))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_q30, 0);
		    switch (TREE_CODE (_q31))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
				  tree res = generic_simplify_194 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
		    switch (TREE_CODE (_q40))
		      {
		      case CALL_EXPR:
		        switch (get_call_combined_fn (_q40))
		          {
			  case CFN_BUILT_IN_BSWAP16:
			    if (call_expr_nargs (_q40) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_q40, 0);
				switch (TREE_CODE (_q31))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case INTEGER_CST:
					  {
					    {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
					      if (res) return res;
					    }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			      }
  break;
			  case CFN_BUILT_IN_BSWAP32:
			    if (call_expr_nargs (_q40) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_q40, 0);
				switch (TREE_CODE (_q31))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case INTEGER_CST:
					  {
					    {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
					      if (res) return res;
					    }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			      }
  break;
			  case CFN_BUILT_IN_BSWAP64:
			    if (call_expr_nargs (_q40) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_q40, 0);
				switch (TREE_CODE (_q31))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case INTEGER_CST:
					  {
					    {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
					      if (res) return res;
					    }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			      }
  break;
			  case CFN_BUILT_IN_BSWAP128:
			    if (call_expr_nargs (_q40) == 1)
    {
				tree _q50 = CALL_EXPR_ARG (_q40, 0);
				switch (TREE_CODE (_q31))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case INTEGER_CST:
					  {
					    {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
					      tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
					      if (res) return res;
					    }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			      }
  break;
			  default:;
		          }
		        break;
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
			    tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q30))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_q30))
		    {
		    case CFN_BUILT_IN_BSWAP16:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q31))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    case CFN_BUILT_IN_BSWAP32:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q31))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    case CFN_BUILT_IN_BSWAP64:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q31))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    case CFN_BUILT_IN_BSWAP128:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q31))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	      break;
	    }
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP32:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP64:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP128:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
			    tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2597 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_264 (loc, type, _p0, _p1, captures);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_438 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_438 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_438 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			tree res = generic_simplify_438 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      if (tree_min_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case GT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2646 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_366 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2646 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_366 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
      if (tree_max_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case LT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, EQ_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2651 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
		      tree res = generic_simplify_269 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2651 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
		      tree res = generic_simplify_269 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      if (tree_min_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case GT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2625 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2694 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
		      tree res = generic_simplify_380 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case LE_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2694 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
		      tree res = generic_simplify_380 (loc, type, _p0, _p1, captures);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
      if (tree_max_value (_q21))
	{
	  switch (TREE_CODE (_p1))
	    {
	    case LT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		  {
		    {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
		      tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    case GT_EXPR:
	      {
		tree _q50 = TREE_OPERAND (_p1, 0);
		tree _q51 = TREE_OPERAND (_p1, 1);
		if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		  {
		    {
/* #line 2637 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
		      tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, NE_EXPR);
		      if (res) return res;
		    }
		  }
	        break;
	      }
	    default:;
	    }
        }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2646 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2651 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_138 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2694 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
			tree res = generic_simplify_378 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2646 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
			tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if (tree_max_value (_q51))
		    {
		      {
/* #line 2651 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			tree res = generic_simplify_138 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if (tree_min_value (_q51))
		    {
		      {
/* #line 2694 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
			tree res = generic_simplify_378 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case EQ_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case NE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
				tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case LT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case LE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case GE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_q50))
		      {
		      case INTEGER_CST:
		        {
			  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
			    {
			      {
/* #line 2731 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
				tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
				if (res) return res;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case INTEGER_CST:
	    {
	      if (integer_onep (_p1))
		{
		  {
/* #line 3766 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3766 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if ((wi::to_wide (captures[0]) & 1) != 0
)
		      {
			if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1274;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1274;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3767, __FILE__, __LINE__);
			{
			  tree res_op0;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[1];
			    _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
			    _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
			    res_op0 = _r1;
			  }
			  tree _r;
			  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			  if (TREE_SIDE_EFFECTS (captures[0]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			  return _r;
			}
next_after_fail1274:;
		      }
		    else
		      {
			if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1275;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1275;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3768, __FILE__, __LINE__);
			{
			  tree _r;
			  _r =  build_zero_cst (type);
			  if (TREE_SIDE_EFFECTS (captures[0]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  return _r;
			}
next_after_fail1275:;
		      }
		  }
	        }
	      break;
	    }
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
			    tree res = generic_simplify_452 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
		      tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case RSHIFT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
			    tree res = generic_simplify_452 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      switch (TREE_CODE (_q30))
	        {
		case CALL_EXPR:
		  switch (get_call_combined_fn (_q30))
		    {
		    case CFN_BUILT_IN_BSWAP16:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    case CFN_BUILT_IN_BSWAP32:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    case CFN_BUILT_IN_BSWAP64:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    case CFN_BUILT_IN_BSWAP128:
		      if (call_expr_nargs (_q30) == 1)
    {
			  tree _q40 = CALL_EXPR_ARG (_q30, 0);
			  switch (TREE_CODE (_q21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (_p1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
					tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
					if (res) return res;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
  break;
		    default:;
		    }
		  break;
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3859 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
		      tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q20))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP32:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP64:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      case CFN_BUILT_IN_BSWAP128:
	        if (call_expr_nargs (_q20) == 1)
    {
		    tree _q30 = CALL_EXPR_ARG (_q20, 0);
		    switch (TREE_CODE (_q21))
		      {
		      case INTEGER_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 4369 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				  tree res = generic_simplify_200 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
				  if (res) return res;
				}
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      default:;
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1276;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1276;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1276;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1276:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1277;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1277;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1277;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1277;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1277:;
	    }
	}
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_BSWAP16:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP32:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP64:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	case CFN_BUILT_IN_BSWAP128:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 4430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1278;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1278;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1278;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1278;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1278:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case ORDERED_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case ORDERED_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  tree _q51 = TREE_OPERAND (_p1, 1);
		  if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
		    {
		      {
/* #line 5707 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5707 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (types_match (captures[0], captures[1])
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1279;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5708, __FILE__, __LINE__);
			    {
			      tree res_op0;
			      res_op0 = captures[0];
			      tree res_op1;
			      res_op1 = captures[1];
			      tree _r;
			      _r = fold_build2_loc (loc, ORDERED_EXPR, type, res_op0, res_op1);
			      return _r;
			    }
next_after_fail1279:;
			  }
		      }
		    }
		  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		    {
		      {
/* #line 5714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
			tree res = generic_simplify_90 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 5714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
			tree res = generic_simplify_90 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
	switch (TREE_CODE (_p1))
	  {
	  case ORDERED_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      {
/* #line 5714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			tree res = generic_simplify_236 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
			tree res = generic_simplify_236 (loc, type, _p0, _p1, captures);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case GE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case GT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case GT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, EQ_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case LT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case NE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case GE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case LT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
	  case LE_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case EQ_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      {
/* #line 5730 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, EQ_EXPR, GT_EXPR);
			if (res) return res;
		      }
		    }
	        }
	      break;
	    }
	  case GT_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
		    if (res) return res;
		  }
	        }
	      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		{
		  {
/* #line 7334 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
		    tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
		    if (res) return res;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case MINUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q21, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7301 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
			    tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, MINUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_q21, 0);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7301 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
			    tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, PLUS_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if (integer_onep (_p1))
	  {
	    {
/* #line 8463 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 8463 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!TYPE_OVERFLOW_SANITIZED (type)
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1280;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8464, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[0];
		    tree res_op1;
		    res_op1 = captures[1];
		    tree _r;
		    _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
		    return _r;
		  }
next_after_fail1280:;
		}
	    }
	  }
        break;
      }
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p1, 0);
		  tree _q61 = TREE_OPERAND (_p1, 1);
		  tree _q62 = TREE_OPERAND (_p1, 2);
		  if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
		    {
		      if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
			{
			  {
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (VECTOR_INTEGER_TYPE_P (type)
)
			      {
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1281;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8479, __FILE__, __LINE__);
				{
				  tree res_op0;
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[0];
				    _o1[1] = captures[2];
				    _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    captures[3] = _r1;
				  }
				  res_op0 = unshare_expr (captures[3]);
				  tree res_op1;
				  res_op1 = captures[3];
				  tree res_op2;
				  res_op2 = captures[1];
				  tree _r;
				  _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
				  return _r;
				}
next_after_fail1281:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p0))
        {
	case CFN_BUILT_IN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_onep (_p1))
		{
		  {
/* #line 7736 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT, CFN_BUILT_IN_PARITY);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_onep (_p1))
		{
		  {
/* #line 7736 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL, CFN_BUILT_IN_PARITYL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTLL:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_onep (_p1))
		{
		  {
/* #line 7736 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL, CFN_BUILT_IN_PARITYLL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_BUILT_IN_POPCOUNTIMAX:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_onep (_p1))
		{
		  {
/* #line 7736 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX, CFN_BUILT_IN_PARITYIMAX);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_POPCOUNT:
	  if (call_expr_nargs (_p0) == 1)
    {
	      tree _q20 = CALL_EXPR_ARG (_p0, 0);
	      if (integer_onep (_p1))
		{
		  {
/* #line 7736 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, CFN_POPCOUNT, CFN_PARITY);
		    if (res) return res;
		  }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_MIN_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 3412 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, MIN_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case MAX_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MAX_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3422 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3437 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_426 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3437 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_426 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  {
/* #line 3444 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3444 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type)
 && TYPE_MIN_VALUE (type)
 && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST)
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1282;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3447, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[1];
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail1282:;
      }
    else
      {
/* #line 3448 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (type)
 && TYPE_MAX_VALUE (type)
 && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST)
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1283;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3451, __FILE__, __LINE__);
	    {
	      tree _r;
	      _r = captures[0];
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      return _r;
	    }
next_after_fail1283:;
	  }
      }
  }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 3477 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3477 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (tree_int_cst_sgn (captures[2]) > 0
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1284;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3479, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[0];
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1284:;
			  }
			else
			  {
			    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1285;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1285;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3480, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[1];
			      return _r;
			    }
next_after_fail1285:;
			  }
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 3477 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3477 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3478 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (tree_int_cst_sgn (captures[2]) > 0
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1286;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3479, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[0];
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1286:;
			  }
			else
			  {
			    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1287;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1287;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3480, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[1];
			      return _r;
			    }
next_after_fail1287:;
			  }
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_52 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		      tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
		      tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		tree res = generic_simplify_123 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 3543 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3543 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
 || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1288;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3546, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      {
			tree _o1[2], _r1;
			_o1[0] = captures[1];
			_o1[1] = captures[3];
			_r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			res_op0 = _r1;
		      }
		      tree _r;
		      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
		      return _r;
		    }
next_after_fail1288:;
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 3553 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, MIN_EXPR, MAX_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1289;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1289;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1289;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1289:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1290;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1290;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1290;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1290;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1290:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MIN_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1291;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1291;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1291;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1291;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1291:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_MAX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 3412 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_474 (loc, type, _p0, _p1, captures, MAX_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case MIN_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
	  {
	    {
/* #line 3426 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
	      tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3426 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
	      tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case MIN_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
	  {
	    {
/* #line 3426 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
	      tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3426 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
	      tree res = generic_simplify_160 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 3430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      tree res = generic_simplify_137 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	  {
	    {
/* #line 3430 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	      tree res = generic_simplify_137 (loc, type, _p0, _p1, captures);
	      if (res) return res;
	    }
	  }
        break;
      }
    default:;
    }
  {
/* #line 3455 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3455 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type)
 && TYPE_MAX_VALUE (type)
 && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST)
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1292;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3458, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[1];
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail1292:;
      }
    else
      {
/* #line 3459 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (type)
 && TYPE_MIN_VALUE (type)
 && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST)
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1293;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3462, __FILE__, __LINE__);
	    {
	      tree _r;
	      _r = captures[0];
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      return _r;
	    }
next_after_fail1293:;
	  }
      }
  }
  switch (TREE_CODE (_p1))
    {
    case PLUS_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    switch (TREE_CODE (_q31))
	      {
	      case INTEGER_CST:
	        {
		  {
/* #line 3468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3469 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (tree_int_cst_sgn (captures[2]) > 0
)
			  {
			    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1294;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1294;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3470, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[1];
			      return _r;
			    }
next_after_fail1294:;
			  }
			else
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1295;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3471, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[0];
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1295:;
			  }
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  {
/* #line 3468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3468 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
		      {
/* #line 3469 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (tree_int_cst_sgn (captures[2]) > 0
)
			  {
			    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1296;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1296;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3470, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[1];
			      return _r;
			    }
next_after_fail1296:;
			  }
			else
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1297;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3471, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[0];
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1297:;
			  }
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    CASE_CONVERT:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_q20))
	  {
	  case ADDR_EXPR:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q40 = TREE_OPERAND (_p1, 0);
		    switch (TREE_CODE (_q40))
		      {
		      case ADDR_EXPR:
		        {
			  {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
			    tree res = generic_simplify_52 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
			    if (res) return res;
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		case ADDR_EXPR:
		  {
		    {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		      tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_p1, 0);
	      switch (TREE_CODE (_q30))
	        {
		case ADDR_EXPR:
		  {
		    {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
		      tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
	  case ADDR_EXPR:
	    {
	      {
/* #line 3488 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		tree res = generic_simplify_123 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 3543 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3543 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
 || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
)
		  {
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1298;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3546, __FILE__, __LINE__);
		    {
		      tree res_op0;
		      {
			tree _o1[2], _r1;
			_o1[0] = captures[1];
			_o1[1] = captures[3];
			_r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			res_op0 = _r1;
		      }
		      tree _r;
		      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
		      return _r;
		    }
next_after_fail1298:;
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case BIT_NOT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case BIT_NOT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 3553 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
		tree res = generic_simplify_190 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1299;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1299;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1299;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1299:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1300;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1300;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1300;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1300;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1300:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1301;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1301;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1301;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1301;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1301:;
	    }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_LROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_all_onesp (_p0))
    {
      {
/* #line 3658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_362 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3708 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case INTEGER_CST:
      {
	{
/* #line 3737 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1302;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1302;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3737, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]),
 build_int_cst (TREE_TYPE (captures[1]),
 element_precision (type)), captures[1]);
	    tree _r;
	    _r = fold_build2_loc (loc, RROTATE_EXPR, type, res_op0, res_op1);
	    return _r;
	  }
next_after_fail1302:;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case LROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3745 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_RROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  if (integer_all_onesp (_p0))
    {
      {
/* #line 3658 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_362 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3705 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	if (res) return res;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3708 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	  if (res) return res;
	}
        break;
      }
    case CONSTRUCTOR:
      {
	{
/* #line 3714 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case RROTATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case INTEGER_CST:
		  {
		    {
/* #line 3745 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
		      if (res) return res;
		    }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_COMPLEX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case REALPART_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case IMAGPART_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
		{
		  {
/* #line 4304 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1303;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4304, __FILE__, __LINE__);
		    {
		      tree _r;
		      _r = captures[0];
		      return _r;
		    }
next_after_fail1303:;
		  }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_UNORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1304;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1304;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1304;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1304:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1305;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1305;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1305;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1305;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1305:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1306;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1306;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1306;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1306;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1306:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  {
/* #line 6261 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6261 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1307;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6262, __FILE__, __LINE__);
	{
	  tree _r;
	  _r =  constant_boolean_node (true, type);
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  if (TREE_SIDE_EFFECTS (captures[1]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	  return _r;
	}
next_after_fail1307:;
      }
    else
      {
/* #line 6263 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1308;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6264, __FILE__, __LINE__);
	    {
	      tree _r;
	      _r =  constant_boolean_node (false, type);
	      if (TREE_SIDE_EFFECTS (captures[0]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      return _r;
	    }
next_after_fail1308:;
	  }
      }
  }
  return NULL_TREE;
}

static tree
generic_simplify_ORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1309;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1309;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1309;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1309:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1310;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1310;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1310;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1310;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1310:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1311;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1311;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1311;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1311;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1311:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  {
/* #line 6270 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6270 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
)
      {
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1312;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6271, __FILE__, __LINE__);
	{
	  tree _r;
	  _r =  constant_boolean_node (false, type);
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  if (TREE_SIDE_EFFECTS (captures[1]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	  return _r;
	}
next_after_fail1312:;
      }
    else
      {
/* #line 6272 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1313;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6273, __FILE__, __LINE__);
	    {
	      tree _r;
	      _r =  constant_boolean_node (true, type);
	      if (TREE_SIDE_EFFECTS (captures[0]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      return _r;
	    }
next_after_fail1313:;
	  }
      }
  }
  return NULL_TREE;
}

static tree
generic_simplify_UNLT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1314;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1314;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1314;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1314:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1315;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1315;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1315;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1315;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1315:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1316;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1316;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1316;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1316;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1316:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5267 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, UNLT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, UNLT_EXPR, LT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, UNLT_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_UNLE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1317;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1317;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1317;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1317:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1318;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1318;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1318;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1318;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1318:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1319;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1319;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1319;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1319;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1319:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5263 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNLE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, UNLE_EXPR, LE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, UNLE_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_UNGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1320;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1320;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1320;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1320:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1321;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1321;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1321;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1321;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1321:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1322;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1322;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1322;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1322;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1322:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5267 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, UNGT_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, UNGT_EXPR, GT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, UNGT_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_UNGE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1323;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1323;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1323;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1323:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1324;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1324;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1324;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1324;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1324:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1325;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1325;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1325;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1325;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1325:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5263 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNGE_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, UNGE_EXPR, GE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, UNGE_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_UNEQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1326;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1326;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1326;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1326:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1327;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1327;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1327;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1327;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1327:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1328;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1328;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1328;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1328;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1328:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5263 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
	if (res) return res;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, UNEQ_EXPR, EQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_LTGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case VEC_COND_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_p1))
	  {
	  case VEC_COND_EXPR:
	    {
	      tree _q60 = TREE_OPERAND (_p1, 0);
	      tree _q61 = TREE_OPERAND (_p1, 1);
	      tree _q62 = TREE_OPERAND (_p1, 2);
	      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
		{
		  {
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4480 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1329;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[1];
			  tree res_op1;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[5];
			    _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1329;
			    res_op1 = _r1;
			  }
			  tree res_op2;
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[6];
			    _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
			    if (EXPR_P (_r1))
			      goto next_after_fail1329;
			    res_op2 = _r1;
			  }
			  tree _r;
			  _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
			  return _r;
			}
next_after_fail1329:;
		      }
		  }
	        }
	      break;
	    }
          default:;
          }
	{
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[2]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]),
 TREE_TYPE (captures[1]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1330;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4500, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[4])) goto next_after_fail1330;
		tree res_op0;
		res_op0 = captures[1];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = unshare_expr (captures[4]);
		  _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1330;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[3];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1330;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1330:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4503 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
 || types_match (type, TREE_TYPE (captures[3]))
 || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]), ERROR_MARK)
 || (optimize_vectors_before_lowering_p ()
 && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]),
 TREE_TYPE (captures[2]), ERROR_MARK))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1331;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4509, __FILE__, __LINE__);
	      {
		if (! tree_invariant_p (captures[0])) goto next_after_fail1331;
		tree res_op0;
		res_op0 = captures[2];
		tree res_op1;
		{
		  tree _o1[2], _r1;
		  _o1[0] = unshare_expr (captures[0]);
		  _o1[1] = captures[3];
		  _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1331;
		  res_op1 = _r1;
		}
		tree res_op2;
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[4];
		  _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
		  if (EXPR_P (_r1))
		    goto next_after_fail1331;
		  res_op2 = _r1;
		}
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1331:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 5270 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 5270 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (!flag_trapping_math || !tree_expr_maybe_nan_p (captures[0])
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1332;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5271, __FILE__, __LINE__);
	    {
	      tree _r;
	      _r =  constant_boolean_node (false, type);
	      if (TREE_SIDE_EFFECTS (captures[0]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	      return _r;
	    }
next_after_fail1332:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case FLOAT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case FLOAT_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5547 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
		tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, LTGT_EXPR, NE_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case NEGATE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	switch (TREE_CODE (_p1))
	  {
	  case NEGATE_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_p1, 0);
	      {
/* #line 5767 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
		tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
		if (res) return res;
	      }
	      break;
	    }
          default:;
          }
      if (CONSTANT_CLASS_P (_p1))
	{
	  {
/* #line 5773 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
	    tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
	    if (res) return res;
	  }
        }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6252 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, LTGT_EXPR);
	  if (res) return res;
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_TRUTH_ORIF_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				  {
				    if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				      {
					if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1333;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1333;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1333;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1333;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1333;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1333;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1333;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1333;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1333:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1334;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1334;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1334;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1334;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1334;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1334;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1334;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1334;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1334:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
				      {
					if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1335;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1335;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1335;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1335;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1335;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1335;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1335;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1335;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1335:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1336;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1336;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1336;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1336;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1336;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1336;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1336;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1336;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1336:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				  {
				    if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				      {
					if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1337;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1337;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1337;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1337;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1337;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1337;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1337;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1337;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1337:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1338;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1338;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1338;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1338;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1338;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1338;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1338;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1338;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1338:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
				      {
					if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1339;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1339;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1339;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1339;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1339;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1339;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1339;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1339;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1339:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1340;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1340;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1340;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1340;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1340;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1340;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1340;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1340;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1340:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				  {
				    if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				      {
					if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1341;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1341;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1341;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1341;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1341;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1341;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1341;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1341;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1341:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1342;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1342;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1342;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1342;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1342;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1342;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1342;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1342;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1342:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
				      {
					if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1343;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1343;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1343;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1343;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1343;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1343;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1343;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1343;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1343:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1344;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1344;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1344;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1344;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1344;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1344;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1344;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1344;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1344:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				  {
				    if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				      {
					if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1345;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1345;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1345;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1345;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1345;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1345;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1345;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1345;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1345:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1346;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1346;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1346;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1346;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1346;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1346;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1346;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1346;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1346:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
				      {
					if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1347;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1347;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1347;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1347;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1347;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1347;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1347;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1347;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1347:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1348;
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1348;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1348;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1348;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1348;
								  if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1348;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1348;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1348;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1348:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_TRUTH_OR_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				  {
				    if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				      {
					if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1349;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1349;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1349;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1349;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1349;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1349;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1349:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1350;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1350;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1350;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1350;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1350:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
				      {
					if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1351;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1351;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1351;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1351;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1351;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1351;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1351:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1352;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1352;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1352;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1352;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1352:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      switch (TREE_CODE (_q31))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
				  {
				    if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
				      {
					if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1353;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1353;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1353;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1353;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1353;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1353;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1353:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1354;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1354;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1354;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1354;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1354:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
				      {
					if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1355;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1355;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1355;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1355;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1355;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1355;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1355:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1356;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1356;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1356;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1356;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1356:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				  {
				    if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				      {
					if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1357;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1357;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1357;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1357;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1357;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1357;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1357:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1358;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1358;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1358;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1358;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1358:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GE_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
				      {
					if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LE_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1359;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1359;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1359;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1359;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1359;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1359;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1359:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1360;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1360;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1360;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1360;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1360:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q21))
	  {
	  case POINTER_PLUS_EXPR:
	    {
	      tree _q40 = TREE_OPERAND (_q21, 0);
	      tree _q41 = TREE_OPERAND (_q21, 1);
	      switch (TREE_CODE (_q41))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case LT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  switch (TREE_CODE (_q70))
			    {
			    case POINTER_PLUS_EXPR:
			      {
				tree _q80 = TREE_OPERAND (_q70, 0);
				tree _q81 = TREE_OPERAND (_q70, 1);
				if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
				  {
				    if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
				      {
					if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1361;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1361;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1361;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1361;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1361;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1361;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1361:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1362;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1362;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1362;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1362;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1362:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		          break;
		        }
		      case GT_EXPR:
		        {
			  tree _q70 = TREE_OPERAND (_p1, 0);
			  tree _q71 = TREE_OPERAND (_p1, 1);
			  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
			    {
			      switch (TREE_CODE (_q71))
			        {
				case POINTER_PLUS_EXPR:
				  {
				    tree _q90 = TREE_OPERAND (_q71, 0);
				    tree _q91 = TREE_OPERAND (_q71, 1);
				    if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
				      {
					if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
					  {
					    {
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
					      const enum tree_code cmp = LT_EXPR;
/* #line 8067 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (sizetype)
 && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
)
						{
						  {
/* #line 8071 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 8074 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
						      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
							{
							  {
/* #line 8078 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
 tree rhs_tree = wide_int_to_tree (sizetype, rhs);
/* #line 8080 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
							      if (cmp == LT_EXPR
)
								{
								  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1363;
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1363;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1363;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1363;
								  if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1363;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1363;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8081, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] =  swap_p ? captures[6] : captures[1];
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1363:;
								}
							      else
								{
								  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1364;
								  if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1364;
								  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1364;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1364;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8085, __FILE__, __LINE__);
								  {
								    tree res_op0;
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									{
									  tree _o3[2], _r3;
									  _o3[0] =  swap_p ? captures[4] : captures[2];
									  _o3[1] =  wide_int_to_tree (sizetype, off);
									  _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
									  _o2[0] = _r3;
									}
									_o2[1] =  swap_p ? captures[2] : captures[4];
									_r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
									_o1[0] = _r2;
								      }
								      if (TREE_TYPE (_o1[0]) != sizetype)
									{
									  _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
									}
								      else
								        _r1 = _o1[0];
								      res_op0 = _r1;
								    }
								    tree res_op1;
								    res_op1 =  rhs_tree;
								    tree _r;
								    _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
								    return _r;
								  }
next_after_fail1364:;
								}
							  }
							}
						  }
						}
					    }
					  }
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  return NULL_TREE;
}

tree
generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0, tree _p1)
{
  switch (code)
    {
    case PLUS_EXPR:
      return generic_simplify_PLUS_EXPR (loc, code, type, _p0, _p1);
    case POINTER_PLUS_EXPR:
      return generic_simplify_POINTER_PLUS_EXPR (loc, code, type, _p0, _p1);
    case MINUS_EXPR:
      return generic_simplify_MINUS_EXPR (loc, code, type, _p0, _p1);
    case BIT_IOR_EXPR:
      return generic_simplify_BIT_IOR_EXPR (loc, code, type, _p0, _p1);
    case BIT_XOR_EXPR:
      return generic_simplify_BIT_XOR_EXPR (loc, code, type, _p0, _p1);
    case POINTER_DIFF_EXPR:
      return generic_simplify_POINTER_DIFF_EXPR (loc, code, type, _p0, _p1);
    case MULT_EXPR:
      return generic_simplify_MULT_EXPR (loc, code, type, _p0, _p1);
    case EQ_EXPR:
      return generic_simplify_EQ_EXPR (loc, code, type, _p0, _p1);
    case NE_EXPR:
      return generic_simplify_NE_EXPR (loc, code, type, _p0, _p1);
    case TRUNC_DIV_EXPR:
      return generic_simplify_TRUNC_DIV_EXPR (loc, code, type, _p0, _p1);
    case CEIL_DIV_EXPR:
      return generic_simplify_CEIL_DIV_EXPR (loc, code, type, _p0, _p1);
    case FLOOR_DIV_EXPR:
      return generic_simplify_FLOOR_DIV_EXPR (loc, code, type, _p0, _p1);
    case ROUND_DIV_EXPR:
      return generic_simplify_ROUND_DIV_EXPR (loc, code, type, _p0, _p1);
    case EXACT_DIV_EXPR:
      return generic_simplify_EXACT_DIV_EXPR (loc, code, type, _p0, _p1);
    case FLOOR_MOD_EXPR:
      return generic_simplify_FLOOR_MOD_EXPR (loc, code, type, _p0, _p1);
    case RDIV_EXPR:
      return generic_simplify_RDIV_EXPR (loc, code, type, _p0, _p1);
    case LT_EXPR:
      return generic_simplify_LT_EXPR (loc, code, type, _p0, _p1);
    case LE_EXPR:
      return generic_simplify_LE_EXPR (loc, code, type, _p0, _p1);
    case GT_EXPR:
      return generic_simplify_GT_EXPR (loc, code, type, _p0, _p1);
    case GE_EXPR:
      return generic_simplify_GE_EXPR (loc, code, type, _p0, _p1);
    case CEIL_MOD_EXPR:
      return generic_simplify_CEIL_MOD_EXPR (loc, code, type, _p0, _p1);
    case ROUND_MOD_EXPR:
      return generic_simplify_ROUND_MOD_EXPR (loc, code, type, _p0, _p1);
    case TRUNC_MOD_EXPR:
      return generic_simplify_TRUNC_MOD_EXPR (loc, code, type, _p0, _p1);
    case LSHIFT_EXPR:
      return generic_simplify_LSHIFT_EXPR (loc, code, type, _p0, _p1);
    case RSHIFT_EXPR:
      return generic_simplify_RSHIFT_EXPR (loc, code, type, _p0, _p1);
    case BIT_AND_EXPR:
      return generic_simplify_BIT_AND_EXPR (loc, code, type, _p0, _p1);
    case MIN_EXPR:
      return generic_simplify_MIN_EXPR (loc, code, type, _p0, _p1);
    case MAX_EXPR:
      return generic_simplify_MAX_EXPR (loc, code, type, _p0, _p1);
    case LROTATE_EXPR:
      return generic_simplify_LROTATE_EXPR (loc, code, type, _p0, _p1);
    case RROTATE_EXPR:
      return generic_simplify_RROTATE_EXPR (loc, code, type, _p0, _p1);
    case COMPLEX_EXPR:
      return generic_simplify_COMPLEX_EXPR (loc, code, type, _p0, _p1);
    case UNORDERED_EXPR:
      return generic_simplify_UNORDERED_EXPR (loc, code, type, _p0, _p1);
    case ORDERED_EXPR:
      return generic_simplify_ORDERED_EXPR (loc, code, type, _p0, _p1);
    case UNLT_EXPR:
      return generic_simplify_UNLT_EXPR (loc, code, type, _p0, _p1);
    case UNLE_EXPR:
      return generic_simplify_UNLE_EXPR (loc, code, type, _p0, _p1);
    case UNGT_EXPR:
      return generic_simplify_UNGT_EXPR (loc, code, type, _p0, _p1);
    case UNGE_EXPR:
      return generic_simplify_UNGE_EXPR (loc, code, type, _p0, _p1);
    case UNEQ_EXPR:
      return generic_simplify_UNEQ_EXPR (loc, code, type, _p0, _p1);
    case LTGT_EXPR:
      return generic_simplify_LTGT_EXPR (loc, code, type, _p0, _p1);
    case TRUTH_ORIF_EXPR:
      return generic_simplify_TRUTH_ORIF_EXPR (loc, code, type, _p0, _p1);
    case TRUTH_OR_EXPR:
      return generic_simplify_TRUTH_OR_EXPR (loc, code, type, _p0, _p1);
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		    {
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  if (integer_zerop (_p2))
			    {
			      {
/* #line 3626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 3626 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1365;
				    if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1365;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1365;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3627, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      res_op0 = captures[2];
				      tree res_op1;
				      res_op1 = captures[1];
				      tree _r;
				      _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
				      return _r;
				    }
next_after_fail1365:;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  }
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case PLUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      case MINUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  switch (TREE_CODE (_p2))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
      if (tree_zero_one_valued_p (_q20))
	{
	  if (integer_zerop (_q21))
	    {
	      switch (TREE_CODE (_p2))
	        {
		case BIT_XOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p2, 0);
		    tree _q61 = TREE_OPERAND (_p2, 1);
		    if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
		      {
			{
/* #line 3636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
			  tree res = generic_simplify_76 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
		      {
			{
/* #line 3636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
			  tree res = generic_simplify_76 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
		case BIT_IOR_EXPR:
		  {
		    tree _q60 = TREE_OPERAND (_p2, 0);
		    tree _q61 = TREE_OPERAND (_p2, 1);
		    if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
		      {
			{
/* #line 3636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
			  tree res = generic_simplify_76 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
		      {
			{
/* #line 3636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
			  tree res = generic_simplify_76 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
			  if (res) return res;
			}
		      }
		    break;
		  }
	        default:;
	        }
	    }
        }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  switch (TREE_CODE (_p2))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (tree_zero_one_valued_p (_q20))
	  {
	    if (integer_zerop (_q21))
	      {
		switch (TREE_CODE (_p1))
		  {
		  case BIT_XOR_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_p1, 0);
		      tree _q51 = TREE_OPERAND (_p1, 1);
		      if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
			{
			  {
/* #line 3648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
			    tree res = generic_simplify_78 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
			    if (res) return res;
			  }
		        }
		      if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
			{
			  {
/* #line 3648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
			    tree res = generic_simplify_78 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
			    if (res) return res;
			  }
		        }
		      break;
		    }
		  case BIT_IOR_EXPR:
		    {
		      tree _q50 = TREE_OPERAND (_p1, 0);
		      tree _q51 = TREE_OPERAND (_p1, 1);
		      if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
			{
			  {
/* #line 3648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
			    tree res = generic_simplify_78 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
			    if (res) return res;
			  }
		        }
		      if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
			{
			  {
/* #line 3648 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
			    tree res = generic_simplify_78 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
			    if (res) return res;
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		case NEGATE_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4930 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
/* #line 4930 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (!TYPE_SATURATING (type)
 && (TYPE_OVERFLOW_WRAPS (type)
 || !wi::only_sign_bit_p (wi::to_wide (captures[1])))
 && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1366;
				    if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1366;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1366;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4934, __FILE__, __LINE__);
				    {
				      tree _r;
				      _r = captures[2];
				      if (TREE_SIDE_EFFECTS (captures[1]))
					_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				      return _r;
				    }
next_after_fail1366:;
				  }
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case BIT_NOT_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4939 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
/* #line 4939 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
)
				  {
				    if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1367;
				    if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1367;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1367;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4940, __FILE__, __LINE__);
				    {
				      tree _r;
				      _r = captures[2];
				      if (TREE_SIDE_EFFECTS (captures[1]))
					_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
				      return _r;
				    }
next_after_fail1367:;
				  }
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case INTEGER_CST:
      {
	{
/* #line 4455 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4455 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (integer_zerop (captures[0])
)
	    {
/* #line 4456 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1368;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1368;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1368;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4457, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[2];
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    return _r;
		  }
next_after_fail1368:;
		}
	    }
	  else
	    {
/* #line 4458 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1369;
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1369;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1369;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4459, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[1];
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    return _r;
		  }
next_after_fail1369:;
		}
	    }
	}
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case PLUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      case MINUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  switch (TREE_CODE (_p2))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case PLUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      case MINUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  switch (TREE_CODE (_p2))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q20))
	  {
	  case PLUS_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_onep (_q31))
		{
		  switch (TREE_CODE (_p1))
		    {
		    case NEGATE_EXPR:
		      {
			tree _q70 = TREE_OPERAND (_p1, 0);
			if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
			  {
			    if (integer_onep (_p2))
			      {
				{
/* #line 4946 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
/* #line 4946 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (TYPE_UNSIGNED (type)
)
				    {
				      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1370;
				      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1370;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1370;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4947, __FILE__, __LINE__);
				      {
					tree res_op0;
					{
					  tree _o1[2], _r1;
					  _o1[0] = unshare_expr (captures[0]);
					  _o1[1] = captures[1];
					  _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
					  res_op0 = _r1;
					}
					tree res_op1;
					{
					  tree _o1[1], _r1;
					  _o1[0] = captures[0];
					  _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					  res_op1 = _r1;
					}
					tree res_op2;
					res_op2 = captures[2];
					tree _r;
					_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
					return _r;
				      }
next_after_fail1370:;
				    }
				}
			      }
			  }
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_q20))
	  {
	  CASE_CONVERT:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      switch (TREE_CODE (_q21))
	        {
		case INTEGER_CST:
		  {
		    switch (TREE_CODE (_p1))
		      {
		      CASE_CONVERT:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				      tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case PLUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      case MINUS_EXPR:
		        {
			  tree _q60 = TREE_OPERAND (_p1, 0);
			  tree _q61 = TREE_OPERAND (_p1, 1);
			  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
			    {
			      switch (TREE_CODE (_q61))
			        {
				case INTEGER_CST:
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
					    tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
					    if (res) return res;
					  }
				          break;
				        }
				      default:;
				      }
				    break;
				  }
			        default:;
			        }
			    }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
	switch (TREE_CODE (_q21))
	  {
	  case INTEGER_CST:
	    {
	      switch (TREE_CODE (_p1))
	        {
		CASE_CONVERT:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
				if (res) return res;
			      }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		{
		  switch (TREE_CODE (_p2))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4716 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			  tree res = generic_simplify_203 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
			  if (res) return res;
			}
		        break;
		      }
		    default:;
		    }
	        }
	      switch (TREE_CODE (_p1))
	        {
		case PLUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
		case MINUS_EXPR:
		  {
		    tree _q50 = TREE_OPERAND (_p1, 0);
		    tree _q51 = TREE_OPERAND (_p1, 1);
		    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		      {
			switch (TREE_CODE (_q51))
			  {
			  case INTEGER_CST:
			    {
			      switch (TREE_CODE (_p2))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 4799 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
				      tree res = generic_simplify_172 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
				      if (res) return res;
				    }
				    break;
				  }
			        default:;
			        }
			      break;
			    }
		          default:;
		          }
		      }
		    break;
		  }
	        default:;
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 4953 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1371;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1371;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1371;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1371;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1371;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4953, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree res_op2;
		res_op2 = captures[3];
		tree _r;
		_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1371:;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case COND_EXPR:
      {
	tree _q40 = TREE_OPERAND (_p2, 0);
	tree _q41 = TREE_OPERAND (_p2, 1);
	tree _q42 = TREE_OPERAND (_p2, 2);
	if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
	  {
	    {
/* #line 4956 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
	      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1372;
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1372;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1372;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1372;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1372;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4956, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree res_op2;
		res_op2 = captures[3];
		tree _r;
		_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1372:;
	    }
	  }
	{
/* #line 4964 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4964 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (inverse_conditions_p (captures[0], captures[2])
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1373;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1373;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1373;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1373;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1373;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4965, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree res_op2;
		res_op2 = captures[3];
		tree _r;
		_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1373:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4968 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4968 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (inverse_conditions_p (captures[0], captures[1])
)
	    {
	      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1374;
	      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1374;
	      if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1374;
	      if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1374;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1374;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4969, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[3];
		tree res_op2;
		res_op2 = captures[4];
		tree _r;
		_r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
		return _r;
	      }
next_after_fail1374:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
    {
      {
/* #line 4974 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1375;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1375;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4974, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[1];
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail1375:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1376;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1376;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1376;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5001, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1376:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	    if (zerop (_p1))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1377;
				if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1377;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1377;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1377;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5005, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1377:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1378;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1378;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1378;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5001, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1378:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	    if (zerop (_p1))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1379;
				if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1379;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1379;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1379;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5005, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1379:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = NE_EXPR;
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1380;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1380;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5012, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1380:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = NE_EXPR;
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (!HONOR_SIGNED_ZEROS (type)
)
		      {
			if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1381;
			if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1381;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1381;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5016, __FILE__, __LINE__);
			{
			  tree _r;
			  _r = captures[0];
			  return _r;
			}
next_after_fail1381:;
		      }
		  }
	        }
	      }
	  }
	switch (TREE_CODE (_q20))
	  {
	  case BIT_AND_EXPR:
	    {
	      tree _q30 = TREE_OPERAND (_q20, 0);
	      tree _q31 = TREE_OPERAND (_q20, 1);
	      if (integer_pow2p (_q31))
		{
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case INTEGER_CST:
			  {
			    if (integer_zerop (_p2))
			      {
				{
/* #line 6051 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
/* #line 6051 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
)
				    {
				      {
/* #line 6052 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
 - wi::exact_log2 (wi::to_wide (captures[1])));
/* #line 6056 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (shift > 0
)
					    {
					      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1382;
					      if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1382;
					      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1382;
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1382;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6057, __FILE__, __LINE__);
					      {
						tree res_op0;
						{
						  tree _o1[2], _r1;
						  {
						    tree _o2[1], _r2;
						    _o2[0] = captures[0];
						    if (TREE_TYPE (_o2[0]) != type)
						      {
							_r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
						      }
						    else
						      _r2 = _o2[0];
						    _o1[0] = _r2;
						  }
						  _o1[1] =  build_int_cst (integer_type_node, shift);
						  _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						  res_op0 = _r1;
						}
						tree res_op1;
						res_op1 = captures[2];
						tree _r;
						_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
						return _r;
					      }
next_after_fail1382:;
					    }
					  else
					    {
					      if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1383;
					      if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1383;
					      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1383;
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1383;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6059, __FILE__, __LINE__);
					      {
						tree res_op0;
						{
						  tree _o1[1], _r1;
						  {
						    tree _o2[2], _r2;
						    _o2[0] = captures[0];
						    _o2[1] =  build_int_cst (integer_type_node, -shift);
						    _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						    _o1[0] = _r2;
						  }
						  if (TREE_TYPE (_o1[0]) != type)
						    {
						      _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
						    }
						  else
						    _r1 = _o1[0];
						  res_op0 = _r1;
						}
						tree res_op1;
						res_op1 = captures[2];
						tree _r;
						_r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
						return _r;
					      }
next_after_fail1383:;
					    }
				      }
				    }
				}
			      }
			    break;
			  }
		        default:;
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LTGT_EXPR;
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1384;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1384;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5012, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1384:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = LTGT_EXPR;
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (!HONOR_SIGNED_ZEROS (type)
)
		      {
			if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1385;
			if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1385;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1385;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5016, __FILE__, __LINE__);
			{
			  tree _r;
			  _r = captures[0];
			  return _r;
			}
next_after_fail1385:;
		      }
		  }
	        }
	      }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GE_EXPR;
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1386;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1386;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5024, __FILE__, __LINE__);
				{
				  tree res_op0;
				  res_op0 = captures[0];
				  tree _r;
				  _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1386:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
		    {
		      {
/* #line 6018 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
			tree res = generic_simplify_436 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_p2))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p2, 0);
		  if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
		    {
		      {
/* #line 6033 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			tree res = generic_simplify_408 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GT_EXPR;
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1387;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1387;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5024, __FILE__, __LINE__);
				{
				  tree res_op0;
				  res_op0 = captures[0];
				  tree _r;
				  _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1387:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LE_EXPR;
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5033 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1388;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1388;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5036, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    {
					      tree _o2[1], _r2;
					      _o2[0] = captures[0];
					      _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
					      _o1[0] = _r2;
					    }
					    _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					    res_op0 = _r1;
					  }
					  tree _r;
					  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					  return _r;
					}
next_after_fail1388:;
				    }
				  }
				else
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1389;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1389;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5037, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1389:;
				  }
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LT_EXPR;
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5033 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1390;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1390;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5036, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    {
					      tree _o2[1], _r2;
					      _o2[0] = captures[0];
					      _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
					      _o1[0] = _r2;
					    }
					    _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					    res_op0 = _r1;
					  }
					  tree _r;
					  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					  return _r;
					}
next_after_fail1390:;
				    }
				  }
				else
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1391;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1391;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5037, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1391:;
				  }
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
	if (integer_zerop (_q21))
	  {
	    switch (TREE_CODE (_p1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q50 = TREE_OPERAND (_p1, 0);
		  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
		    {
		      {
/* #line 6018 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
			tree res = generic_simplify_436 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_p2))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q60 = TREE_OPERAND (_p2, 0);
		  if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
		    {
		      {
/* #line 6033 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			tree res = generic_simplify_408 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
			if (res) return res;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	    switch (TREE_CODE (_p1))
	      {
	      case INTEGER_CST:
	        {
		  if (integer_zerop (_p2))
		    {
		      {
/* #line 6082 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6082 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (integer_pow2p (captures[1])
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
			  {
			    {
/* #line 6084 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
/* #line 6087 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (shift >= 0
)
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1392;
				    if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1392;
				    if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1392;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1392;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6088, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					{
					  tree _o2[2], _r2;
					  _o2[0] = captures[0];
					  _o2[1] =  build_int_cst (integer_type_node, shift);
					  _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
					  _o1[0] = _r2;
					}
					if (TREE_TYPE (_o1[0]) != type)
					  {
					    _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
					  }
					else
					  _r1 = _o1[0];
					res_op0 = _r1;
				      }
				      tree res_op1;
				      res_op1 = captures[1];
				      tree _r;
				      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
				      return _r;
				    }
next_after_fail1392:;
				  }
				else
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1393;
				    if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1393;
				    if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1393;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1393;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6093, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					if (TREE_TYPE (_o1[0]) != type)
					  {
					    _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
					  }
					else
					  _r1 = _o1[0];
					res_op0 = _r1;
				      }
				      tree res_op1;
				      res_op1 = captures[1];
				      tree _r;
				      _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
				      return _r;
				    }
next_after_fail1393:;
				  }
			    }
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      if (tree_truth_valued_p (_q20))
	{
	  {
/* #line 4979 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
	    if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1394;
	    if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1394;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1394;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4979, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree res_op1;
	      res_op1 = captures[2];
	      tree res_op2;
	      res_op2 = captures[1];
	      tree _r;
	      _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
	      return _r;
	    }
next_after_fail1394:;
	  }
        }
}
}
  return NULL_TREE;
}

static tree
generic_simplify_VEC_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case VECTOR_CST:
      {
	{
/* #line 4462 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4462 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (integer_all_onesp (captures[0])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1395;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4463, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[1];
		if (TREE_SIDE_EFFECTS (captures[0]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail1395:;
	    }
	  else
	    {
/* #line 4464 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (integer_zerop (captures[0])
)
		{
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1396;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4465, __FILE__, __LINE__);
		  {
		    tree _r;
		    _r = captures[2];
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    if (TREE_SIDE_EFFECTS (captures[1]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		    return _r;
		  }
next_after_fail1396:;
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VECTOR_CST:
      {
	switch (TREE_CODE (_p2))
	  {
	  case VECTOR_CST:
	    {
	      {
/* #line 4636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4636 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		if (VECTOR_BOOLEAN_TYPE_P (type)
 && types_match (type, TREE_TYPE (captures[0]))
)
		  {
/* #line 4638 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
)
		      {
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1397;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4639, __FILE__, __LINE__);
			{
			  tree res_op0;
			  res_op0 = captures[0];
			  tree _r;
			  _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
			  if (TREE_SIDE_EFFECTS (captures[1]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			  if (TREE_SIDE_EFFECTS (captures[2]))
			    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			  return _r;
			}
next_after_fail1397:;
		      }
		    else
		      {
/* #line 4640 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
)
			  {
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1398;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4641, __FILE__, __LINE__);
			    {
			      tree _r;
			      _r = captures[0];
			      if (TREE_SIDE_EFFECTS (captures[1]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			      if (TREE_SIDE_EFFECTS (captures[2]))
				_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			      return _r;
			    }
next_after_fail1398:;
			  }
		      }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
	  {
	    {
/* #line 4953 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1399;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4953, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree res_op2;
		res_op2 = captures[3];
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail1399:;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case VEC_COND_EXPR:
      {
	tree _q40 = TREE_OPERAND (_p2, 0);
	tree _q41 = TREE_OPERAND (_p2, 1);
	tree _q42 = TREE_OPERAND (_p2, 2);
	if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
	  {
	    {
/* #line 4956 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1400;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4956, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree res_op2;
		res_op2 = captures[3];
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail1400:;
	    }
	  }
	{
/* #line 4964 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4964 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (inverse_conditions_p (captures[0], captures[2])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1401;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4965, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[1];
		tree res_op2;
		res_op2 = captures[3];
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		if (TREE_SIDE_EFFECTS (captures[4]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
		return _r;
	      }
next_after_fail1401:;
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VEC_COND_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	tree _q31 = TREE_OPERAND (_p1, 1);
	tree _q32 = TREE_OPERAND (_p1, 2);
	{
/* #line 4968 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4968 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (inverse_conditions_p (captures[0], captures[1])
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1402;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4969, __FILE__, __LINE__);
	      {
		tree res_op0;
		res_op0 = captures[0];
		tree res_op1;
		res_op1 = captures[3];
		tree res_op2;
		res_op2 = captures[4];
		tree _r;
		_r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		if (TREE_SIDE_EFFECTS (captures[2]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		return _r;
	      }
next_after_fail1402:;
	    }
	}
        break;
      }
    default:;
    }
  if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
    {
      {
/* #line 4974 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1403;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4974, __FILE__, __LINE__);
	{
	  tree _r;
	  _r = captures[1];
	  if (TREE_SIDE_EFFECTS (captures[0]))
	    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
	  return _r;
	}
next_after_fail1403:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1404;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1404;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1404;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5001, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1404:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	    if (zerop (_p1))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = EQ_EXPR;
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1405;
				if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1405;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1405;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1405;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5005, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1405:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5000 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1406;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1406;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1406;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5001, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1406:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	    if (zerop (_p1))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
			    const enum tree_code cmp = UNEQ_EXPR;
/* #line 5004 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1407;
				if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1407;
				if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1407;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1407;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5005, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[1];
				  return _r;
				}
next_after_fail1407:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = NE_EXPR;
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1408;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1408;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5012, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1408:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = NE_EXPR;
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (!HONOR_SIGNED_ZEROS (type)
)
		      {
			if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1409;
			if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1409;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1409;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5016, __FILE__, __LINE__);
			{
			  tree _r;
			  _r = captures[0];
			  return _r;
			}
next_after_fail1409:;
		      }
		  }
	        }
	      }
	  }
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LTGT_EXPR;
/* #line 5011 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1410;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1410;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5012, __FILE__, __LINE__);
				{
				  tree _r;
				  _r = captures[0];
				  return _r;
				}
next_after_fail1410:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      if (integer_zerop (_p2))
		{
		  {
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const enum tree_code cmp = LTGT_EXPR;
/* #line 5015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    if (!HONOR_SIGNED_ZEROS (type)
)
		      {
			if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1411;
			if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1411;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1411;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5016, __FILE__, __LINE__);
			{
			  tree _r;
			  _r = captures[0];
			  return _r;
			}
next_after_fail1411:;
		      }
		  }
	        }
	      }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GE_EXPR;
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1412;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1412;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5024, __FILE__, __LINE__);
				{
				  tree res_op0;
				  res_op0 = captures[0];
				  tree _r;
				  _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1412:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = GT_EXPR;
/* #line 5022 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
				if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1413;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1413;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5024, __FILE__, __LINE__);
				{
				  tree res_op0;
				  res_op0 = captures[0];
				  tree _r;
				  _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
				  return _r;
				}
next_after_fail1413:;
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LE_EXPR;
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5033 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1414;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1414;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5036, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    {
					      tree _o2[1], _r2;
					      _o2[0] = captures[0];
					      _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
					      _o1[0] = _r2;
					    }
					    _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					    res_op0 = _r1;
					  }
					  tree _r;
					  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					  return _r;
					}
next_after_fail1414:;
				    }
				  }
				else
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1415;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1415;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5037, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1415:;
				  }
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	if (zerop (_q21))
	  {
	    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	      {
		switch (TREE_CODE (_p2))
		  {
		  case NEGATE_EXPR:
		    {
		      tree _q60 = TREE_OPERAND (_p2, 0);
		      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
			{
			  {
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    const enum tree_code cmp = LT_EXPR;
/* #line 5029 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			    if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
			      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
				  {
				    {
/* #line 5033 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1416;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1416;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5036, __FILE__, __LINE__);
					{
					  tree res_op0;
					  {
					    tree _o1[1], _r1;
					    {
					      tree _o2[1], _r2;
					      _o2[0] = captures[0];
					      _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
					      _o1[0] = _r2;
					    }
					    _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					    res_op0 = _r1;
					  }
					  tree _r;
					  _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
					  return _r;
					}
next_after_fail1416:;
				    }
				  }
				else
				  {
				    if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1417;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1417;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5037, __FILE__, __LINE__);
				    {
				      tree res_op0;
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[0];
					_r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					res_op0 = _r1;
				      }
				      tree _r;
				      _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
				      return _r;
				    }
next_after_fail1417:;
				  }
			      }
			  }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (tree_logical_inverted_value (_p0, _p0_pops))
    {
      tree _q20 = _p0_pops[0];
      if (tree_truth_valued_p (_q20))
	{
	  {
/* #line 4979 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1418;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4979, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree res_op1;
	      res_op1 = captures[2];
	      tree res_op2;
	      res_op2 = captures[1];
	      tree _r;
	      _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
	      return _r;
	    }
next_after_fail1418:;
	  }
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case VIEW_CONVERT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q30))
	      {
	      case CFN_COND_ADD:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_SUB:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_MUL:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_DIV:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_MOD:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_RDIV:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_MIN:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_MAX:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_FMIN:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_FMAX:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_AND:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_IOR:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_XOR:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_SHL:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_SHR:
	        if (call_expr_nargs (_q30) == 4)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
			  tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p1))
        {
	case CFN_COND_ADD:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_SUB:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_MUL:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_DIV:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_MOD:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_RDIV:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_MIN:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_MAX:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_FMIN:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_FMAX:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_AND:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_IOR:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_XOR:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_SHL:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_SHR:
	  if (call_expr_nargs (_p1) == 4)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 7996 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
		    tree res = generic_simplify_258 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
		    if (res) return res;
		  }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case VIEW_CONVERT_EXPR:
      {
	tree _q40 = TREE_OPERAND (_p2, 0);
	switch (TREE_CODE (_q40))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q40))
	      {
	      case CFN_COND_ADD:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_SUB:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_MUL:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_DIV:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_MOD:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_RDIV:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_MIN:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_MAX:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_FMIN:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_FMAX:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_AND:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_IOR:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_XOR:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_SHL:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_SHR:
	        if (call_expr_nargs (_q40) == 4)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
		      tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
		      if (res) return res;
		    }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p2))
        {
	case CFN_COND_ADD:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_SUB:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_MUL:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_DIV:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_MOD:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_RDIV:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_MIN:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_MAX:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_FMIN:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_FMAX:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_AND:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_IOR:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_XOR:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_SHL:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_SHR:
	  if (call_expr_nargs (_p2) == 4)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      {
/* #line 8001 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		tree res = generic_simplify_231 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
		if (res) return res;
	      }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case VIEW_CONVERT_EXPR:
      {
	tree _q30 = TREE_OPERAND (_p1, 0);
	switch (TREE_CODE (_q30))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q30))
	      {
	      case CFN_COND_FMA:
	        if (call_expr_nargs (_q30) == 5)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    tree _q44 = CALL_EXPR_ARG (_q30, 4);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_FMS:
	        if (call_expr_nargs (_q30) == 5)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    tree _q44 = CALL_EXPR_ARG (_q30, 4);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_FNMA:
	        if (call_expr_nargs (_q30) == 5)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    tree _q44 = CALL_EXPR_ARG (_q30, 4);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
			  if (res) return res;
			}
		      }
	          }
  break;
	      case CFN_COND_FNMS:
	        if (call_expr_nargs (_q30) == 5)
    {
		    tree _q40 = CALL_EXPR_ARG (_q30, 0);
		    tree _q41 = CALL_EXPR_ARG (_q30, 1);
		    tree _q42 = CALL_EXPR_ARG (_q30, 2);
		    tree _q43 = CALL_EXPR_ARG (_q30, 3);
		    tree _q44 = CALL_EXPR_ARG (_q30, 4);
		    if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		      {
			{
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
			  tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
			  if (res) return res;
			}
		      }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p1))
        {
	case CFN_COND_FMA:
	  if (call_expr_nargs (_p1) == 5)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      tree _q34 = CALL_EXPR_ARG (_p1, 4);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_FMS:
	  if (call_expr_nargs (_p1) == 5)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      tree _q34 = CALL_EXPR_ARG (_p1, 4);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_FNMA:
	  if (call_expr_nargs (_p1) == 5)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      tree _q34 = CALL_EXPR_ARG (_p1, 4);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
		    if (res) return res;
		  }
	        }
	    }
  break;
	case CFN_COND_FNMS:
	  if (call_expr_nargs (_p1) == 5)
    {
	      tree _q30 = CALL_EXPR_ARG (_p1, 0);
	      tree _q31 = CALL_EXPR_ARG (_p1, 1);
	      tree _q32 = CALL_EXPR_ARG (_p1, 2);
	      tree _q33 = CALL_EXPR_ARG (_p1, 3);
	      tree _q34 = CALL_EXPR_ARG (_p1, 4);
	      if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		{
		  {
/* #line 8010 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
		    tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
		    if (res) return res;
		  }
	        }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case VIEW_CONVERT_EXPR:
      {
	tree _q40 = TREE_OPERAND (_p2, 0);
	switch (TREE_CODE (_q40))
	  {
	  case CALL_EXPR:
	    switch (get_call_combined_fn (_q40))
	      {
	      case CFN_COND_FMA:
	        if (call_expr_nargs (_q40) == 5)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    tree _q54 = CALL_EXPR_ARG (_q40, 4);
		    {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_FMS:
	        if (call_expr_nargs (_q40) == 5)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    tree _q54 = CALL_EXPR_ARG (_q40, 4);
		    {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_FNMA:
	        if (call_expr_nargs (_q40) == 5)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    tree _q54 = CALL_EXPR_ARG (_q40, 4);
		    {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
		      if (res) return res;
		    }
	          }
  break;
	      case CFN_COND_FNMS:
	        if (call_expr_nargs (_q40) == 5)
    {
		    tree _q50 = CALL_EXPR_ARG (_q40, 0);
		    tree _q51 = CALL_EXPR_ARG (_q40, 1);
		    tree _q52 = CALL_EXPR_ARG (_q40, 2);
		    tree _q53 = CALL_EXPR_ARG (_q40, 3);
		    tree _q54 = CALL_EXPR_ARG (_q40, 4);
		    {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
		      tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
		      if (res) return res;
		    }
	          }
  break;
	      default:;
	      }
	    break;
          default:;
          }
        break;
      }
    case CALL_EXPR:
      switch (get_call_combined_fn (_p2))
        {
	case CFN_COND_FMA:
	  if (call_expr_nargs (_p2) == 5)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      tree _q44 = CALL_EXPR_ARG (_p2, 4);
	      {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_FMS:
	  if (call_expr_nargs (_p2) == 5)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      tree _q44 = CALL_EXPR_ARG (_p2, 4);
	      {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_FNMA:
	  if (call_expr_nargs (_p2) == 5)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      tree _q44 = CALL_EXPR_ARG (_p2, 4);
	      {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
		if (res) return res;
	      }
	    }
  break;
	case CFN_COND_FNMS:
	  if (call_expr_nargs (_p2) == 5)
    {
	      tree _q40 = CALL_EXPR_ARG (_p2, 0);
	      tree _q41 = CALL_EXPR_ARG (_p2, 1);
	      tree _q42 = CALL_EXPR_ARG (_p2, 2);
	      tree _q43 = CALL_EXPR_ARG (_p2, 3);
	      tree _q44 = CALL_EXPR_ARG (_p2, 4);
	      {
/* #line 8015 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		tree res = generic_simplify_149 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
		if (res) return res;
	      }
	    }
  break;
	default:;
        }
      break;
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_BIT_FIELD_REF (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case BIT_FIELD_REF:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	{
/* #line 7400 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1, _p2 };
	  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1419;
	  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1419;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1419;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7400, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[3];
	    tree res_op2;
	    res_op2 =  const_binop (PLUS_EXPR, bitsizetype, captures[2], captures[4]);
	    tree _r;
	    _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
	    if (TREE_SIDE_EFFECTS (captures[1]))
	      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	    return _r;
	  }
next_after_fail1419:;
	}
        break;
      }
    case VIEW_CONVERT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	{
/* #line 7404 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1420;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7404, __FILE__, __LINE__);
	  {
	    tree res_op0;
	    res_op0 = captures[0];
	    tree res_op1;
	    res_op1 = captures[1];
	    tree res_op2;
	    res_op2 = captures[2];
	    tree _r;
	    _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
	    return _r;
	  }
next_after_fail1420:;
	}
        break;
      }
    default:;
    }
  if (integer_zerop (_p2))
    {
      {
/* #line 7408 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 7408 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (tree_int_cst_equal (captures[1], TYPE_SIZE (TREE_TYPE (captures[0])))
)
	  {
	    if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1421;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1421;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree _r;
	      _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      return _r;
	    }
next_after_fail1421:;
	  }
      }
    }
  {
/* #line 7414 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 7414 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
    if (TREE_CODE (TREE_TYPE (captures[0])) == COMPLEX_TYPE
 && tree_int_cst_equal (captures[1], TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0]))))
)
      {
/* #line 7417 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (integer_zerop (captures[2])
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1422;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7418, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      {
		tree _o1[1], _r1;
		_o1[0] = captures[0];
		_r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
		res_op0 = _r1;
	      }
	      tree _r;
	      _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      if (TREE_SIDE_EFFECTS (captures[2]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	      return _r;
	    }
next_after_fail1422:;
	  }
	else
	  {
/* #line 7419 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	    if (tree_int_cst_equal (captures[2], TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0]))))
)
	      {
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1423;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7420, __FILE__, __LINE__);
		{
		  tree res_op0;
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[0];
		    _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
		    res_op0 = _r1;
		  }
		  tree _r;
		  _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
		  if (TREE_SIDE_EFFECTS (captures[1]))
		    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		  if (TREE_SIDE_EFFECTS (captures[2]))
		    _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
		  return _r;
		}
next_after_fail1423:;
	      }
	  }
      }
    else
      {
/* #line 7421 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && INTEGRAL_TYPE_P (type)
 && (!
0
 || is_gimple_reg (captures[0]))
 && ((compare_tree_int (captures[1], TYPE_PRECISION (TREE_TYPE (captures[0]))) == 0
 && integer_zerop (captures[2]))
 || (BYTES_BIG_ENDIAN == WORDS_BIG_ENDIAN
 && canonicalize_math_after_vectorization_p ()
 && TYPE_PRECISION (TREE_TYPE (captures[0])) % BITS_PER_UNIT == 0
 && TYPE_PRECISION (type) % BITS_PER_UNIT == 0
 && compare_tree_int (captures[2], (BYTES_BIG_ENDIAN
 ? (TYPE_PRECISION (TREE_TYPE (captures[0]))
 - TYPE_PRECISION (type))
 : 0)) == 0))
)
	  {
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1424;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7440, __FILE__, __LINE__);
	    {
	      tree res_op0;
	      res_op0 = captures[0];
	      tree _r;
	      _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
	      if (TREE_SIDE_EFFECTS (captures[1]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
	      if (TREE_SIDE_EFFECTS (captures[2]))
		_r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
	      return _r;
	    }
next_after_fail1424:;
	  }
      }
  }
  switch (TREE_CODE (_p0))
    {
    case CONSTRUCTOR:
      {
	{
/* #line 7446 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 7446 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (TREE_TYPE (captures[0]))
 && tree_fits_uhwi_p (TYPE_SIZE (type))
 && ((tree_to_uhwi (TYPE_SIZE (type))
 == tree_to_uhwi (TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0])))))
 || (VECTOR_TYPE_P (type)
 && (tree_to_uhwi (TYPE_SIZE (TREE_TYPE (type)))
 == tree_to_uhwi (TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0])))))))
)
	    {
	      {
/* #line 7453 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
 ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
 tree eltype = TREE_TYPE (TREE_TYPE (ctor));
 unsigned HOST_WIDE_INT width = tree_to_uhwi (TYPE_SIZE (eltype));
 unsigned HOST_WIDE_INT n = tree_to_uhwi (captures[1]);
 unsigned HOST_WIDE_INT idx = tree_to_uhwi (captures[2]);
/* #line 7462 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (n != 0
 && (idx % width) == 0
 && (n % width) == 0
 && known_le ((idx + n) / width,
 TYPE_VECTOR_SUBPARTS (TREE_TYPE (ctor)))
)
		    {
		      {
/* #line 7467 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 idx = idx / width;
 n = n / width;
 poly_uint64 k = 1;
 if (CONSTRUCTOR_NELTS (ctor) != 0)
 {
 tree cons_elem = TREE_TYPE (CONSTRUCTOR_ELT (ctor, 0)->value);
 if (TREE_CODE (cons_elem) == VECTOR_TYPE)
 k = TYPE_VECTOR_SUBPARTS (cons_elem);
 }
 unsigned HOST_WIDE_INT elt, count, const_k;
/* #line 7483 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (multiple_p (idx, k, &elt) && multiple_p (n, k, &count)
)
			    {
/* #line 7484 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (CONSTRUCTOR_NELTS (ctor) == 0
)
				{
				  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1425;
				  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1425;
				  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1425;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1425;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7485, __FILE__, __LINE__);
				  {
				    tree _r;
				    _r =  build_zero_cst (type);
				    return _r;
				  }
next_after_fail1425:;
				}
			      else
				{
/* #line 7486 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (count == 1
)
				    {
/* #line 7487 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (elt < CONSTRUCTOR_NELTS (ctor)
)
					{
					  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1426;
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1426;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1426;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1426;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7488, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 =  CONSTRUCTOR_ELT (ctor, elt)->value;
					    tree _r;
					    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
					    return _r;
					  }
next_after_fail1426:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1427;
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1427;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1427;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1427;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7489, __FILE__, __LINE__);
					  {
					    tree _r;
					    _r =  build_zero_cst (type);
					    return _r;
					  }
next_after_fail1427:;
					}
				    }
				  else
				    {
/* #line 7493 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (single_use (captures[0])
)
					{
					  {
/* #line 7494 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 vec<constructor_elt, va_gc> *vals;
 vec_alloc (vals, count);
 bool constant_p = true;
 tree res;
 for (unsigned i = 0;
 i < count && elt + i < CONSTRUCTOR_NELTS (ctor); ++i)
 {
 tree e = CONSTRUCTOR_ELT (ctor, elt + i)->value;
 CONSTRUCTOR_APPEND_ELT (vals, NULL_TREE, e);
 if (!CONSTANT_CLASS_P (e))
 constant_p = false;
 }
 tree evtype = (types_match (TREE_TYPE (type),
 TREE_TYPE (TREE_TYPE (ctor)))
 ? type
 : build_vector_type (TREE_TYPE (TREE_TYPE (ctor)),
 count * k));
 res = (constant_p ? build_vector_from_ctor (evtype, vals)
 : build_constructor (evtype, vals));
					      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1428;
					      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1428;
					      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1428;
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1428;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7516, __FILE__, __LINE__);
					      {
						tree res_op0;
						res_op0 =  res;
						tree _r;
						_r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
						return _r;
					      }
next_after_fail1428:;
					  }
					}
				    }
				}
			    }
			  else
			    {
/* #line 7518 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      if (k.is_constant (&const_k)
 && idx + n <= (idx / const_k + 1) * const_k
)
				{
/* #line 7521 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (CONSTRUCTOR_NELTS (ctor) <= idx / const_k
)
				    {
				      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1429;
				      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1429;
				      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1429;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1429;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7522, __FILE__, __LINE__);
				      {
					tree _r;
					_r =  build_zero_cst (type);
					return _r;
				      }
next_after_fail1429:;
				    }
				  else
				    {
/* #line 7523 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				      if (n == const_k
)
					{
					  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1430;
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1430;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1430;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1430;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7524, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 =  CONSTRUCTOR_ELT (ctor, idx / const_k)->value;
					    tree _r;
					    _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
					    return _r;
					  }
next_after_fail1430:;
					}
				      else
					{
					  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1431;
					  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1431;
					  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1431;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1431;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7525, __FILE__, __LINE__);
					  {
					    tree res_op0;
					    res_op0 =  CONSTRUCTOR_ELT (ctor, idx / const_k)->value;
					    tree res_op1;
					    res_op1 = captures[1];
					    tree res_op2;
					    res_op2 =  bitsize_int ((idx % const_k) * width);
					    tree _r;
					    _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
					    return _r;
					  }
next_after_fail1431:;
					}
				    }
				}
			    }
		      }
		    }
	      }
	    }
	}
        break;
      }
    case BIT_INSERT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	{
/* #line 7533 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1, _p2 };
	  {
/* #line 7533 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT isize;
 if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])))
 isize = TYPE_PRECISION (TREE_TYPE (captures[1]));
 else
 isize = tree_to_uhwi (TYPE_SIZE (TREE_TYPE (captures[1])));
/* #line 7542 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if ((!INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 || type_has_mode_precision_p (TREE_TYPE (captures[1])))
 && wi::leu_p (wi::to_wide (captures[2]), wi::to_wide (captures[4]))
 && wi::leu_p (wi::to_wide (captures[4]) + wi::to_wide (captures[3]),
 wi::to_wide (captures[2]) + isize)
)
		{
		  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1432;
		  if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1432;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1432;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7547, __FILE__, __LINE__);
		  {
		    tree res_op0;
		    res_op0 = captures[1];
		    tree res_op1;
		    res_op1 = captures[3];
		    tree res_op2;
		    res_op2 =  wide_int_to_tree (bitsizetype,
 wi::to_wide (captures[4])
 - wi::to_wide (captures[2]));
		    tree _r;
		    _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
		    if (TREE_SIDE_EFFECTS (captures[0]))
		      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
		    return _r;
		  }
next_after_fail1432:;
		}
	      else
		{
/* #line 7550 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (wi::eq_p (wi::to_wide (captures[2]), wi::to_wide (captures[4]))
 && compare_tree_int (captures[3], isize) == 0
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1433;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7552, __FILE__, __LINE__);
		      {
			tree res_op0;
			res_op0 = captures[1];
			tree _r;
			_r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			if (TREE_SIDE_EFFECTS (captures[2]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			if (TREE_SIDE_EFFECTS (captures[3]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
			if (TREE_SIDE_EFFECTS (captures[4]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
			return _r;
		      }
next_after_fail1433:;
		    }
		  else
		    {
/* #line 7553 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (wi::geu_p (wi::to_wide (captures[2]),
 wi::to_wide (captures[4]) + wi::to_wide (captures[3]))
 || wi::geu_p (wi::to_wide (captures[4]),
 wi::to_wide (captures[2]) + isize)
)
			{
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1434;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7557, __FILE__, __LINE__);
			  {
			    tree res_op0;
			    res_op0 = captures[0];
			    tree res_op1;
			    res_op1 = captures[3];
			    tree res_op2;
			    res_op2 = captures[4];
			    tree _r;
			    _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
			    if (TREE_SIDE_EFFECTS (captures[1]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			    if (TREE_SIDE_EFFECTS (captures[2]))
			      _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
			    return _r;
			  }
next_after_fail1434:;
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return NULL_TREE;
}

static tree
generic_simplify_VEC_PERM_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case PLUS_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	switch (TREE_CODE (_p1))
	  {
	  case MINUS_EXPR:
	    {
	      tree _q50 = TREE_OPERAND (_p1, 0);
	      tree _q51 = TREE_OPERAND (_p1, 1);
	      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
		{
		  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case VECTOR_CST:
			  {
			    {
/* #line 8133 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
			      tree res = generic_simplify_178 (loc, type, _p0, _p1, _p2, captures);
			      if (res) return res;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	        }
	      if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
		{
		  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case VECTOR_CST:
			  {
			    {
/* #line 8133 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
			      tree res = generic_simplify_178 (loc, type, _p0, _p1, _p2, captures);
			      if (res) return res;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case VECTOR_CST:
      {
	{
/* #line 8192 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
	  {
/* #line 8192 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree op0 = captures[0], op1 = captures[1], op2 = captures[2];
 machine_mode result_mode = TYPE_MODE (type);
 machine_mode op_mode = TYPE_MODE (TREE_TYPE (op0));
 vec_perm_builder builder;
/* #line 8201 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	      if (tree_to_vec_perm_builder (&builder, op2)
)
		{
		  {
/* #line 8202 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
 bool single_arg = (op0 == op1);
 vec_perm_indices sel (builder, single_arg ? 1 : 2, nelts);
/* #line 8209 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		      if (sel.series_p (0, 1, 0, 1)
)
			{
			  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1435;
			  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1435;
			  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1435;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1435;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8210, __FILE__, __LINE__);
			  {
			    tree _r;
			    _r =  op0;
			    return _r;
			  }
next_after_fail1435:;
			}
		      else
			{
/* #line 8211 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (sel.series_p (0, 1, nelts, 1)
)
			    {
			      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1436;
			      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1436;
			      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1436;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1436;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8212, __FILE__, __LINE__);
			      {
				tree _r;
				_r =  op1;
				return _r;
			      }
next_after_fail1436:;
			    }
			  else
			    {
			      {
/* #line 8213 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 if (!single_arg)
 {
 if (sel.all_from_input_p (0))
 op1 = op0;
 else if (sel.all_from_input_p (1))
 {
 op0 = op1;
 sel.rotate_inputs (1);
 }
 else if (known_ge (poly_uint64 (sel[0]), nelts))
 {
 std::swap (op0, op1);
 sel.rotate_inputs (1);
 }
 }
 gassign *def;
 tree cop0 = op0, cop1 = op1;
 if (TREE_CODE (op0) == SSA_NAME
 && (def = dyn_cast <gassign *> (SSA_NAME_DEF_STMT (op0)))
 && gimple_assign_rhs_code (def) == CONSTRUCTOR)
 cop0 = gimple_assign_rhs1 (def);
 if (TREE_CODE (op1) == SSA_NAME
 && (def = dyn_cast <gassign *> (SSA_NAME_DEF_STMT (op1)))
 && gimple_assign_rhs_code (def) == CONSTRUCTOR)
 cop1 = gimple_assign_rhs1 (def);
 tree t;
/* #line 8242 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if ((TREE_CODE (cop0) == VECTOR_CST
 || TREE_CODE (cop0) == CONSTRUCTOR)
 && (TREE_CODE (cop1) == VECTOR_CST
 || TREE_CODE (cop1) == CONSTRUCTOR)
 && (t = fold_vec_perm (type, cop0, cop1, sel))
)
				    {
				      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1437;
				      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1437;
				      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1437;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1437;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8247, __FILE__, __LINE__);
				      {
					tree _r;
					_r =  t;
					return _r;
				      }
next_after_fail1437:;
				    }
				  else
				    {
				      {
/* #line 8248 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 bool changed = (op0 == op1 && !single_arg);
 tree ins = NULL_TREE;
 unsigned at = 0;
 if (op_mode != BLKmode
 && (TREE_CODE (cop0) == VECTOR_CST
 || TREE_CODE (cop0) == CONSTRUCTOR
 || TREE_CODE (cop1) == VECTOR_CST
 || TREE_CODE (cop1) == CONSTRUCTOR))
 {
 bool insert_first_p = sel.series_p (1, 1, nelts + 1, 1);
 if (insert_first_p)
 {
 at = 0;
 if ((ins = fold_read_from_vector (cop0, sel[0])))
 op0 = op1;
 }
 if (!insert_first_p || (!ins && maybe_eq (nelts, 2u)))
 {
 unsigned int encoded_nelts = sel.encoding ().encoded_nelts ();
 for (at = 0; at < encoded_nelts; ++at)
 if (maybe_ne (sel[at], at))
 break;
 if (at < encoded_nelts
 && (known_eq (at + 1, nelts)
 || sel.series_p (at + 1, 1, at + 1, 1)))
 {
 if (known_lt (poly_uint64 (sel[at]), nelts))
 ins = fold_read_from_vector (cop0, sel[at]);
 else
 ins = fold_read_from_vector (cop1, sel[at] - nelts);
 }
 }
 }
 if (!ins && sel.encoding () != builder)
 {
 tree oldop2 = op2;
 if (sel.ninputs () == 2
 || can_vec_perm_const_p (result_mode, op_mode, sel, false))
 op2 = vec_perm_indices_to_tree (TREE_TYPE (op2), sel);
 else
 {
 vec_perm_indices sel2 (builder, 2, nelts);
 if (can_vec_perm_const_p (result_mode, op_mode, sel2, false))
 op2 = vec_perm_indices_to_tree (TREE_TYPE (op2), sel2);
 else
 op2 = vec_perm_indices_to_tree (TREE_TYPE (op2), sel);
 }
 if (!operand_equal_p (op2, oldop2, 0))
 changed = true;
 }
/* #line 8320 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (ins
)
					    {
					      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1438;
					      if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1438;
					      if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1438;
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1438;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8321, __FILE__, __LINE__);
					      {
						tree res_op0;
						res_op0 =  op0;
						tree res_op1;
						res_op1 =  ins;
						tree res_op2;
						res_op2 =  bitsize_int (at * vector_element_bits (type));
						tree _r;
						_r = fold_build3_loc (loc, BIT_INSERT_EXPR, type, res_op0, res_op1, res_op2);
						return _r;
					      }
next_after_fail1438:;
					    }
					  else
					    {
/* #line 8323 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					      if (changed
)
						{
						  if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1439;
						  if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1439;
						  if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1439;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1439;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8324, __FILE__, __LINE__);
						  {
						    tree res_op0;
						    res_op0 =  op0;
						    tree res_op1;
						    res_op1 =  op1;
						    tree res_op2;
						    res_op2 =  op2;
						    tree _r;
						    _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
						    return _r;
						  }
next_after_fail1439:;
						}
					    }
				      }
				    }
			      }
			    }
			}
		  }
		}
	  }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case VEC_PERM_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	tree _q21 = TREE_OPERAND (_p0, 1);
	tree _q22 = TREE_OPERAND (_p0, 2);
	switch (TREE_CODE (_q22))
	  {
	  case VECTOR_CST:
	    {
	      if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		{
		  switch (TREE_CODE (_p2))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p2 };
/* #line 8371 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
			  if (TYPE_VECTOR_SUBPARTS (type).is_constant ()
)
			    {
			      {
/* #line 8372 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 machine_mode result_mode = TYPE_MODE (type);
 machine_mode op_mode = TYPE_MODE (TREE_TYPE (captures[1]));
 int nelts = TYPE_VECTOR_SUBPARTS (type).to_constant ();
 vec_perm_builder builder0;
 vec_perm_builder builder1;
 vec_perm_builder builder2 (nelts, nelts, 1);
/* #line 8381 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
				  if (tree_to_vec_perm_builder (&builder0, captures[3])
 && tree_to_vec_perm_builder (&builder1, captures[4])
)
				    {
				      {
/* #line 8383 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 vec_perm_indices sel0 (builder0, 2, nelts);
 vec_perm_indices sel1 (builder1, 1, nelts);
 for (int i = 0; i < nelts; i++)
 builder2.quick_push (sel0[sel1[i].to_constant ()]);
 vec_perm_indices sel2 (builder2, 2, nelts);
 tree op0 = NULL_TREE;
 if (can_vec_perm_const_p (result_mode, op_mode, sel2, false)
 || (single_use (captures[0])
 ? (!can_vec_perm_const_p (result_mode, op_mode, sel0, false)
 || !can_vec_perm_const_p (result_mode, op_mode, sel1, false))
 : !can_vec_perm_const_p (result_mode, op_mode, sel1, false)))
 op0 = vec_perm_indices_to_tree (TREE_TYPE (captures[4]), sel2);
/* #line 8406 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
					  if (op0
)
					    {
					      if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1440;
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1440;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8407, __FILE__, __LINE__);
					      {
						tree res_op0;
						res_op0 = captures[1];
						tree res_op1;
						res_op1 = captures[2];
						tree res_op2;
						res_op2 =  op0;
						tree _r;
						_r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
						if (TREE_SIDE_EFFECTS (captures[3]))
						  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
						if (TREE_SIDE_EFFECTS (captures[4]))
						  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
						return _r;
					      }
next_after_fail1440:;
					    }
				      }
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	        }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
if (tree_vec_same_elem_p (_p0))
  {
    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
      {
	{
/* #line 8343 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p2 };
/* #line 8343 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
	  if (types_match (type, TREE_TYPE (captures[0]))
)
	    {
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1441;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8344, __FILE__, __LINE__);
	      {
		tree _r;
		_r = captures[0];
		if (TREE_SIDE_EFFECTS (captures[1]))
		  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
		return _r;
	      }
next_after_fail1441:;
	    }
	  else
	    {
	      {
/* #line 8345 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
 tree elem = uniform_vector_p (captures[0]);
/* #line 8349 "../../../../../../../work-shared/gcc-13.3.0-r0/gcc-13.3.0/gcc/match.pd" */
		  if (elem
)
		    {
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1442;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8350, __FILE__, __LINE__);
		      {
			tree _r;
			_r =  build_vector_from_val (type, elem);
			if (TREE_SIDE_EFFECTS (captures[0]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
			if (TREE_SIDE_EFFECTS (captures[1]))
			  _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
			return _r;
		      }
next_after_fail1442:;
		    }
	      }
	    }
	}
      }
  }
  return NULL_TREE;
}

tree
generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0, tree _p1, tree _p2)
{
  switch (code)
    {
    case COND_EXPR:
      return generic_simplify_COND_EXPR (loc, code, type, _p0, _p1, _p2);
    case VEC_COND_EXPR:
      return generic_simplify_VEC_COND_EXPR (loc, code, type, _p0, _p1, _p2);
    case BIT_FIELD_REF:
      return generic_simplify_BIT_FIELD_REF (loc, code, type, _p0, _p1, _p2);
    case VEC_PERM_EXPR:
      return generic_simplify_VEC_PERM_EXPR (loc, code, type, _p0, _p1, _p2);
    default:;
    }
  return NULL_TREE;
}

tree
generic_simplify (location_t, enum tree_code,
                  const tree, tree, tree, tree, tree)
{
  return NULL_TREE;
}

tree
generic_simplify (location_t, enum tree_code,
                  const tree, tree, tree, tree, tree, tree)
{
  return NULL_TREE;
}
